我正在使用Heroku运行Rails应用程序:grafly.herokuapp.com。但是,我找不到控制器的CSS和JS,而其他CSS和JS(预编译到应用程序中)正在被发现。这只发生在Heroku上。当地很好。是什么导致这种情况?
我使用控制器特定的JS和CSS。这是我的views / layouts / application.html.erb
<head>
<title>Grafly</title>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %>
<%= stylesheet_link_tag params[:controller] %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
<%= javascript_include_tag params[:controller] %>
</head>
答案 0 :(得分:1)
如果您正在直接访问样式表和javascripts而不通过清单(应用程序),那么您需要将资产显式添加到预编译列表中。在开发模式下,Rails会在生产过程中动态编译您的资产,您将收到错误。
在http://guides.rubyonrails.org/asset_pipeline.html#controller-specific-assets
的Rails指南中有一节你可能错过了
config.assets.precompile += [ '<controllername.js>', '<controllername.css>']
有一个相对较新的宝石https://github.com/schneems/sprockets_better_errors会在开发过程中突出显示这些错误。