日期:2014-05-17  浏览次数:20706 次

ActionView::Template::Error (***.css isn’t precompiled)

升级到Rails 3.1后,当rails s -e production时,报错ActionView::Template::Error (***.css isn’t precompiled)。这是因为3.1后开始采用assets pipeline,所有**.css.scss、**.js.coffee文件都需要预编译,生产环境下默认不会进行编译,而开发环境下默认会先进行编译,所以开发环境不报错。


方法一:修改production.rb

config.assets.compile = true #默认为false

?

修改为true后,以后请求资源时如果发现没有编译会重新编译。但这样会影响效率,建议不要这样做。

?

方法二:

rake assets:precompile

?

然后重启rails server。这是推荐的做法。