我使用以下代码在我的 rails 应用程序的特定页面上包含自定义 css 和 javscript。
<% content_for :header do -%>
<%= stylesheet_link_tag 'mycustompagecssfile' %>
<%= javascript_include_tag 'customjavascriptfile' %>
<% end -%>
它可以在 localhost 上运行(前提是我在应用程序布局中包含了产量<%= 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 应用程序中断(我猜)
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 -%>
谁能告诉我如何预编译那些特定于页面的资产?