![](/img/trans.png)
[英]ActionView::Template::Error (application.css isn't precompiled):
[英]ActionView::Template::Error (kids.css isn't precompiled):
我收到这个严重错误。 我已经将kids.css.less添加到我的application.css中。 如果我在application(and/or environment file)
数组中添加到config.assets.precompile
,则可以避免此错误,但这不是我要使用的解决方案
这是我的app.css.less:
/*
*= require_self
*= require kids.css.less
*/
@import "theme_venera.less";
.white-card {
.kid-word {
h5 { font-size: @fontSizeSmall;}
}
}
这导致我在kids.css中未进行预编译。
我想念什么?
UPD:仅在生产服务器上部署时,会发生此错误。 在我的开发环境中,我拥有“实时”资产。 我正在使用capistrano进行部署,并且我的脚本包含asset:precompile
在生产模式下运行rake assets:precompile
以编译和压缩样式表,然后运行该应用程序。
在开发中,您应该进行资产调试(禁用管道),以避免链轮连接并最小化您的资产:
config.assets.debug = true
如果您不这样做,Rails希望对您的资产进行编译:
rake assets:precompile
而且,如果您不对其进行预编译,则如果启用它,它将尝试根据要求对其进行编译:
config.assets.compile = true
否则,如果您不禁用管道,请不要自己编译它们,也不要让Rails这样做,这会给您得到的错误。 在生产中,通常的做法是对其进行预编译。 实时编译会增加大量开销,因此您不应该依赖它。 但是,如果在预编译后保持启用状态也是可以的:Rails将首先使用编译,并且如果找不到所需的资产,则会将其编译为“紧急过程”以避免抛出错误。
您在这里拥有所有信息:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.