2012-01-11 17 views
4

私はvendor/assets/javascriptsにjavascriptのMESS全体を持っています。私のアプリ/資産/ JavaScriptの/ application.jsファイルでは、私はディレクティブを持っている:Rails 3.1アセットパイプラインのマニフェストファイルはjavacriptsを受け取りません

//= require_tree . 

ことは、現在のアプリケーション/資産/ JavaScriptのディレクトリを参照する、および/または資産のベンダー/ libに資産ませんか?

明示的にjavascriptを含めると動作します。私がする必要がなければ、私は本当にそれをしたくありません。

アセットパイプラインがアプリディレクトリ(libとベンダー)の外からアセットを自動的に配信できるようにするために欠けているものがありますか?

答えて

5

require_treeはapplication.jsファイルの下にある資産に引っ張ります。

lib/assetsおよびvendor/assetsは、すでにパイプライン(refer this code)のルックアップパスに含まれています。

2つ目のマニフェストを使用して、これらのファイルを含めることができます。 vendor/assets/javascripts

移動し、require_treeディレクティブを入れて追加し、その内部misc_vendor.js

というファイルを作成します。

はその後マニフェストapplication.jsから、そのファイルを参照してください。

require misc_vendor 

あなたが原因ロード順序のいずれかの問題がある場合は、手動ではなくrequire_treeを使用する必要があるために、ベンダーのファイルを必要とすることができます。

パイプラインへの変換の一部として、物事をきれいにする可能性があります。パスは「アプリ/資産/ JavaScriptの/ application.js」マニフェストファイルからの相対である必要があり

//= require_tree ../../../vendor/assets/javascripts/. 

::-)

0

このように、application.rbファイルでパスを拡張する必要があります。

config.assets.paths << "#{Rails.root}/vendor/assets/some file name" 

Refer this Guide for more details

1

また、あなたは、このような二マニフェストなしでそれを行うことができます。

関連する問題