2012-01-25 6 views
53

私はアプリをRails 3.1に移行していて(今は3.2に)、Railscast on the asset pipelineを見てきました。サードパーティのjqueryプラグインファイルをすべて/ vendor/assets/javascripts /ディレクトリに移動しました。私の/app/assets/javascripts/application.jsでは、私は次のようしている:Railsアセットパイプライン:すべての/ベンダー/アセット/ javascripts /を含めるための標準的な方法

//= require jquery 
//= require jquery_ujs 
//= require_tree . 
//= require_self 

私はrequire_tree .コールのみ/アプリ/資産/ JavaScriptの/ディレクトリのツリーをロード実現しました。 (正しいのですか)すべて「ベンダー」のjavascriptを含める最も良い方法は何ですか? (私はこの時点で注文することについて心配していません)もちろん、私は/app/assets/javascripts/application.jsに行単位で入力する必要があります。私の他の考えは以下で/vendor/assets/javascripts/vendor_javascripts.jsを作成することでした。

//= require_tree . 

をそして/app/assets/javascripts/application.jsに次の行を追加します。

//= require vendor_javascripts 

これはちょっと厄介なようです。すべての "ベンダー"(および/または "lib")のjavascriptを自動的に含めるためのより良い方法はありますか?

PS。私はthis about index.js filesを見ましたが、私は潜在的にindex.jsという名前の複数のファイルで終わるでしょうか?ああ、私はサーバー全体を再起動しようとしました。

答えて

72

あなたはすべてのベンダーのJavaScriptを含めるためにあなたのapp/assets/javascripts/application.jsファイル内でこのような何かを追加することができます。

//= require_tree ../../../vendor/assets/javascripts/. 
+1

相対パスのことを忘れてしまった:)ありがとう、ありがとう! – robertwbradford

+0

私にも働きました、ありがとう! –

+11

実際には、私はOPの提案されたアプローチはあまりclunkyではないと思う。 – kizzx2

21

私はそれが古い質問ですけど、あなたは、ベンダー/資産/ javascriptのフォルダ上のマニフェストファイルを作成することができます:

#vendor/assets/javascripts/my_jquery_plugins/manifest.js 
# require_tree . 

そして、あなたでapplication.js:

//= require my_jquery_plugins/manifest.js 

私はあなたがRailsの4を使用しているF、manifest.jsindex.jsとして、あなたapplication.jsに名前を付ける:それは相対パスが記述よりも少ないハックだ

//= require my_jquery_plugins 

関連する問題