这是错误:
Processing by LandingPageController#index as HTML
Rendered landing_page/index.html.erb within layouts/application (2.1ms)
Completed 500 Internal Server Error in 49ms
ActionView::Template::Error (landing_page.css isn't precompiled):
12: <![endif]-->
13:
14: <%= stylesheet_link_tag "application", :media => "all" %>
15: <%= stylesheet_link_tag params[:controller] %>
16:
17: </head>
18: <body>
app/views/layouts/application.html.erb:15:in `_app_views_layouts_application_html_erb__3002306950342527375_29178380'
由于第 15 行,我可以看到它正在寻找landing_page.css 文件。我不明白的是,将此资产预编译用于生产的最佳方法是什么。我试过修改/config/application.rb:
config.assets.precompile += ['landing_page.css']
这对我来说似乎不正确。我必须对每一个烦人的样式表都这样做。
我在 application.css 清单中添加了代码:
*= require landing_page
这似乎不起作用。当我这样做并且不修改应用程序配置文件时,我得到了第一个错误。
我很困惑你如何能包含这条线
<%= stylesheet_link_tag params[:controller] %>
在您的布局中,并在您运行时为生产预编译资产
bundle exec rake assets:precompile
我觉得我错过了一些简单的技巧,当您运行 rake 任务时,它会自动将自动生成的样式表和 javascript 文件添加到要预编译的文件列表中。