所以,我有下面的代碼行中我<head>
,裏面app/views/layouts/application.html.erb
:的Rails 3.2預壓選定的資產
<%= stylesheet_link_tag "front", :media => "all" %>
其中一期工程在發展很好,但是當我切換到生產它打破,因爲它不是預編譯,所以我跑rake assets:precompile
,增加了一堆文件給我的公開目錄,也未嘗不可,但所有的CSS和JS文件名類似:
application-digest.ext
application-digest.ext.gz
application.ext
application.ext.gz
哪裏ext
或者是css
或js
,並digest
obvously變化。
圖像文件剛剛附帶name.ext
和name-digest.ext
版本。
所以,當瀏覽到頁面時,我得到一個ActionView::Template::Error
告訴我front.css isn't precompiled
。
因爲我有不同的控制器不同的佈局(與FrontController
使用application.html.erb
佈局,如果該事項),我不希望包括的CSS或所有控制器的佈局裏面的js文件的所有,因爲它是隻是可恥的浪費帶寬。
我如何告訴軌編譯內app/assets
單獨的所有文件?
我設法用活comilation通過設置config.assets.compile = true
內config/environments/production.rb
「修理」的問題,但我一直在閱讀無處不在,這不是處理資產的最佳途徑[1],因爲它浪費了大量的的資源。
該應用程序託管在Heroku上。
[1]:official Ruby on Rails guide page:「該模式使用更多的存儲器,比默認執行更差,因此不推薦」。
Thanks!我剛纔找到了自己的答案,並且即將發佈答案,但是你打敗了我! :d – omninonsense