0

我收到了这个奇怪的错误。我已将 kids.css.less 添加到我的 application.css 中。config.assets.precompile如果我添加到数组中,我可以避免这个错误application(and/or environment file),但这不是我想要使用的解决方案

这是我的 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 进行部署,我的脚本包含 assets:precompile

4

2 回答 2

0

在生产模式下运行rake assets:precompile以编译和压缩样式表,然后运行应用程序。

于 2013-07-16T14:59:21.587 回答
0

在开发中,您应该进行资产调试(禁用管道),以避免链轮连接和缩小您的资产:

config.assets.debug = true

如果你不这样做,Rails 期望你的资产被编译:

rake assets:precompile

如果你不预编译它们,如果你启用它,它将尝试根据请求编译它们:

config.assets.compile = true

否则,如果你不禁用管道,不要自己编译它们,也不要让 Rails 这样做,它会给你你得到的错误。在生产中,通常的做法是预编译它们。实时编译会增加大量开销,因此您不应依赖它。但是,如果您在预编译后启用它也没关系:Rails 将首先使用您的编译,如果它没有找到它正在寻找的资产,则会将其编译为“紧急程序”以避免抛出错误。

您在这里拥有所有信息:

http://guides.rubyonrails.org/asset_pipeline.html

于 2013-07-16T14:59:53.337 回答