web-dev-qa-db-ja.com

Rails 4?にベンダー資産フォルダーをロードする方法

多くの種類のファイルと、独自のツリー構造(html、css、js、ドキュメント、画像など)を持つプラグインがあります

プラグインフォルダーを調べて、すべてのcssファイルとjsファイルをvendor/assets/js/vendor/assets/css/フォルダ、プラグインフォルダ全体をそのままにしておきたい。例えば、

vendor/assets/multipurpose_bookshelf_slider/

パスが適切にロードされることを確認し、マニフェストファイルでそれらを参照するにはどうすればよいですか?

現在、次のようにいくつかのファイルを配置しています(網羅的ではありません)

/my_app/vendor/assets/multipurpose_bookshelf_slider/css/skin01.css
/my_app/vendor/assets/multipurpose_bookshelf_slider/js/jquery.easing.1.3.js
/my_app/vendor/assets/multipurpose_bookshelf_slider/
/my_app/vendor/assets/multipurpose_bookshelf_slider/

私はそれらを参照しています

application.js

//= require multipurpose_bookshelf_slider/js/jquery.easing.1.3.js
//= require multipurpose_bookshelf_slider/js/jquery.bookshelfslider.min.js

application.css.scss

@import "css/bookshelf_slider";
@import "css/skin01";
46
ahnbizcad

assetsの直下に作成されたフォルダーはすべて、ロードパスに追加されます。そのフォルダ内のファイルは、次のように通常どおり参照できます。

あなたが持っている場合

  • vendor/assets/custom/js/file.js

  • vendor/assets/custom/css/file.css

次に、vendor/assets/custom/がロードパスに追加されます。

以下を実行して、次のファイルにファイルを含めます。

application.js

//= require js/file

application.css.scss

@import "css/file";

ロードパスが認識されるのはサーバーの起動時なので、ローカルサーバーを再起動してください。

注:ロードパスのリストを表示するには、端末にRails cと入力し、Rails.application.config.assets.pathsと入力します。

87
ahnbizcad

実行中のアプリケーションでasset-pipelineがアクティブになっている場合、application.rbのパスを展開した後にアセットを見つける必要があります。

config.assets.paths << Rails.root.join("multipurpose_bookshelf_slider")
4
D7na

私はD7naの答えを好みますが、私の意見は少し改善されています。

これがアセットに関連している限り、assets.rbファイルに配置する方が良いと思います。

assets.rb

Rails.application.config.assets.paths << Rails.root.join("multipurpose_bookshelf_slider")
3
Ayman Salah