Ruby on Rails - / stylesheet目录中的样式表,而不是/ assets,生产中没有指纹

时间:2014-03-22 15:56:05

标签: css ruby-on-rails ruby ruby-on-rails-4 asset-pipeline

问题如下:

在制作网站上:

<link data-turbolinks-track="true" href="/assets/application-88627ba4e39c16e7875ecd7dacb14d52.css" media="all" rel="stylesheet">
<link data-turbolinks-track="true" href="/stylesheets/stylesheet.css" media="all" rel="stylesheet">

在application.css中:

*= require_self
(no *= require_tree)

在index.html.haml中:

= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true
= stylesheet_link_tag "stylesheet", media: "all", "data-turbolinks-track" => true

所以问题是:application.css工作正常,但我不希望它包含所有其他样式表。 (我希望每个子域有不同的样式表) 所以我需要将它包含在另一个stylesheet_link_tag中,但这不能正常工作。它不在/ assets目录中,并且没有指纹。 在开发中,它确实有效。

我该如何解决这个问题? 谢谢!

2 个答案:

答案 0 :(得分:1)

production.rb中,请确保您拥有:

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

这样当你运行bundle exec rake assets:precompile时它也会被编译。

答案 1 :(得分:1)

您可能从预编译目标中遗漏了样式表。将其添加到config / application.rb:

config.assets.precompile += %w(stylesheet.css)

它在开发模式下工作,因为此环境的默认设置将为应用程序本身的资产提供服务,并且将按需编译资产,而不检查config.assets.precompile设置。