これには100万の質問があることは知っていますが、私はこれを得ることができません。Rails 3.1、アセットパイプラインからJSファイルを除外
ほとんどのJSファイルをアセットパイプラインに含める必要がありますが、条件付きで(または特定のページのみで)ロードする必要があります。これらは大きくて複雑なファイルなので、ユーザーの95%が使用することはありません。そのため、すべてのユーザーにそれらをロードしないでください。 JSファイルの1つのセットは中に置かれたカレンダーのためのものです:
app/assets/javascripts/calendar
だから私のマニフェストが(とカレンダーのサブディレクトリを除外)のみトップディレクトリが含まれるように設定されている:
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require_directory .
私のconfig /環境/ production.rb:ビューで
# Compress JavaScripts and CSS
config.assets.compress = true
# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = false
# Generate digests for assets URLs.
config.assets.digest = true
# This following config is left over from previous Rails app,
# so not sure if it's now unnecessary ...
# Disable Rails's static asset server
# In production, Apache or nginx will already do this
config.serve_static_assets = false
、私は手動でカレンダーファイルを含めるためにライアン・ベイツnifty_layoutを使用しています:
開発とプロダクションの両方でプリコンパイルを試しました。ドキュメントは、私がこれを行うべき場所が明確ではありませんが、プロダクションのように見えます。
そして、私はページを実行すると、私はこれを取得:
ActionView::Template::Error (calendar/date.js isn't precompiled)
私はそれがプリコンパイルしたくありません。私はそれを手動でロードします。 (実際には、作成されたメインapplication.js以外のファイルでプリコンパイルしても問題ありませんが、その方法はわかりません)
解決方法はありますか?
ありがとうございます!