无法为生产环境,Rails 4.2.1,bower组件预编译资产

时间:2015-12-01 10:34:03

标签: ruby-on-rails asset-pipeline bower ruby-on-rails-4.2

我正在为前端的第三方使用凉亭。

我在AdminLTE主题中使用的iCheck组件有问题。

这是我的Ruby on Rails 4.2.1服务器端应用程序的application.sass文件:

@import "bootstrap-css-only/css/bootstrap"
@import "css/AdminLTE"
@import "css/skin-purple"

/*theme AdminLTE-2.3.0*/
@import "font-awesome/css/font-awesome"
@import "iCheck/skins/minimal/_all"
@import "iCheck/skins/square/_all"
@import "iCheck/skins/flat/_all"
@import "iCheck/skins/line/_all"
@import "iCheck/skins/polaris/polaris"
@import "iCheck/skins/futurico/futurico"
@import "iCheck/skins/all"

/*javascript notifications*/
@import "pnotify/src/pnotify.core"
@import "pnotify/src/pnotify.buttons"

/* Font awesome import*/
@import "font-awesome/css/font-awesome"

/*angular modules stylesheets*/
@import "core/stylesheets/users"

iCheck组件存在问题,因为在文件iCheck / skins / all.css中有导入:

@import url("minimal/_all.css");
@import url("square/_all.css");

当我为生产环境预编译资产时,那些css文件不存在。在开发模式中,一切都像魅力一样!

对此有何建议?

1 个答案:

答案 0 :(得分:2)

这里的问题是你编译的css文件仍然有相同的导入命令,它引用了minimal/_all.csssquare/_all.css

此问题有两种解决方案:

  1. 您可以将所有导入文件的扩展名更改为scss,并将导入指令从@import url("...")更改为@import "..."

  2. 或者你可以将用url导入的文件复制到你的公共文件夹,你的浏览器会找到它们(当然,它们不会被缩小,我不建议你使用这个解决方案)