Rails:如何为生产环境预编译自定义样式表



我已经尝试了许多修复程序和这些修复程序的变体,但都不起作用。我的问题是,我有一个自定义样式表,如果浏览器是IE,就会调用它(stylesheet-IE.css.scs)

rake assets:precompile

运行compile命令后,我在production.log中得到以下错误。

ActionView::Template::Error (stylesheet-ie.css isn't precompiled):
    14:     <title><%= full_title(yield(:title)) %></title>
    15:     <%= stylesheet_link_tag    "application", media: "all" %>
    16:     <!--[if IE]>
    17:       <%= stylesheet_link_tag("stylesheet-ie") %>
    18:     <![endif]-->
    19:     <%= javascript_include_tag "application" %>
    20:     <%= csrf_meta_tags %>

在生产中。rb我有:

config.assets.precompile += ['stylesheet-ie.css']

这个文件是assets/stylesheet/stylesheet-ie.css.scss…我以前把它作为stylesheet.css,但为了让它工作,我把它改了。两种方式都不起作用。

在这一点上,我不知道还能做什么。

这在开发环境中有效吗?

在进行预编译时,必须指定环境。你在哪里做这件事?

RAILS_ENV=production rake assets:precompile 

这应该编译您的资产,以防您没有在其他地方提及您的环境。

Hrm。

我的config/application.rb设置如下:

config.sass.load_paths << File.expand_path('../../lib/assets/stylesheets/')
config.assets.precompile += %w(jquery.animate-colors-min.js ie.js ie8.css)

所以它非常相似,但您没有提到load_path。(另外,顺便说一句,我使用的是.css.sass,所以我不确定你是否需要摆弄config.sassconfig.scss。)

--☈

最新更新