我的css文件在开发中运行良好。
我的制作应用失败,出现500错误。生产日志文件显示正在编译的css文件
Compiled screen/fluid/nav.css (0ms) (pid 16607)
那么这个错误:
Started GET "/login" for 118.211.236.235 at 2013-01-06 01:29:10 +0000
Processing by SessionsController#new as HTML
Rendered sessions/new.html.erb within layouts/application (9.5ms)
Completed 500 Internal Server Error in 112ms
ActionView::Template::Error (avetmiss.css isn't precompiled):
该文件未在application.css中列出,但似乎无论如何都要编译。这是我的application.css文件:
/*
*= require_self
*= require_tree ./screen
*/
另一个问题是我在我的application.html文件中有这样的打印css:
<%= stylesheet_link_tag 'application-print', :media => 'print' -%>
此文件根本没有预编译。我是否需要将它放在如下的预编译指令中的production.rb中?该指令应该在production.rb还是application.rb?
中config.assets.precompile += %w( application-print.css )
我是否需要在上面的预编译语句中添加不是控制器资产的每个css和js文件?
答案 0 :(得分:0)
看起来这些文件未包含在部署的预编译步骤中。
假设application-print.css和avetmiss.css位于app / assets / stylesheets中,请直接在application.css中使用
/*
*= require self
*= require tree ./screen
*= require avetmiss
*/
或者,如果您想在app / assets / stylesheets文件夹下包含所有css文件,那么在application.css中,只需:
/*
*= require self
*= require tree .
*/
The Rails Guide for Assets对我非常有帮助。
***修改
对于你的print css - 我认为你确实需要一个预编译指令,所以它不会包含在application.css中
config.assets.precompile += %w( application-print.css )