1
我使用以下代碼在我的rails應用程序的特定頁面上包含自定義css和javscript。如何預編譯頁面特定資產
<% content_for :header do -%>
<%= stylesheet_link_tag 'mycustompagecssfile' %>
<%= javascript_include_tag 'customjavascriptfile' %>
<% end -%>
它可以在本地主機(提供我包含在應用程序佈局產量<%= yield(:header) if content_for(:header) %>
),但是當我把它推到的Heroku它打破了應用程序。
由於這些CSS和JavaScript文件僅在一個頁面上包含的,我不包括他們在清單文件(因爲我不希望這些風格處處出現的),其實,我刪除require tree
代碼
//= require jquery
//= require jquery_ujs
//= require common
//= require live-comment-preview
//= require_self
所以我想知道如果我預先編譯的資產(我需要爲heroku做),那麼這些頁面特定的CSS和JavaScript文件沒有被預編譯,這導致heroku應用程序打破(我' m猜)
heroku日誌說有內部服務器錯誤
Processing by HomeController#index as HTML
2013-01-07T17:13:58+00:00 app[web.1]: Completed 500 Internal Server Error in 25ms
請注意,我確定它是導致問題的資產(而不是ruby代碼),就好像我只是這樣做了(即,除去資產)頁面沒有任何問題
<% content_for :header do -%>
<% end -%>
誰能告訴我如何預編譯這些頁面的具體的資產?
試試:'<(%)=收率(:報頭)如果content_for?(:報頭)%>' – sailor
content_for(content_for?)不能解決問題後添加問號... – Leahcim
您是否已將自定義CSS和文件添加到要預編譯的文件列表中?見這裏http://stackoverflow.com/questions/8272325/sprockets-and-rails-3-adding-a-new-precompiled-js-file – Edward