1

エラーが発生します:

ActionView::Template::Error(jquery-1.9.1.min.js isn't precompiled)include タグを持つアプリケーションのページにアクセスしている間:<%= javascript_include_tag "jquery-1.9.1.min"%>

私のビューは、偶然にも前述の include タグを持たない他のすべてのページで機能していることに注意してください。

私は持っているように設定config/application.rbし、ローカルでconfig.assets.initialize_on_precompile = falseも行いました。bundle exec rake assets:precompileその後、heroku にプッシュしましたが、Heroku ログにまだエラーが表示されています。

jquery-1.9.1.min.jsローカルにダウンロードしてアプリに配置したことに注意してください。ただしvendoer\assets\javascripts、そのフォルダーには、本番環境でアクセスできる他のページで動作している他の JavaScript があるため、それは問題ではないと思います。

私のapplication.jsには次のものがあります:

//= require jquery-1.9.1.min
//= require jquery_ujs
//= require jquery.numeric
//= require_tree .
//= require bootstrap

これは開発中にうまく機能します。私の宝石ファイルには、それが関連しているgem 'jquery-rails', '2.0.2'場合があります。

最後に、 production.rb に を追加config.assets.precompile += %w( jquery-1.9.1.min.js, highstock.js )して使用してみましbundle exec rake assets:precompileた。

rake assets:precompilepublic/assetsの両方のためにapplication.js、コンパイル済みのコードが既にありjquery-1.9.1.min、別のファイルjquery-1.9.1.minもあるため、2回コンパイルされたように見えます。それは問題ではないと思いますが…

私はこれを理解することはできません。何か案は?

4

1 に答える 1

0

Ok、

私はこの獣の回避策を考え出しました。config.assets.precompile += %w(...,...)「、」がプリコンパイルに影響していたと思います。「、」を取り出しました。config.assets.initialize_on_precompile = trueまた、自分の側でプリコンパイルを設定してキャンセルしましたrake assets:clean

これでherokuはプリコンパイルを行い、動作します。

于 2013-03-30T01:38:54.187 に答える