Rails资产管道,我添加的CSS文件(但不是必需的)不是预编译的

时间:2013-10-07 16:31:49

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

我在我的assets / stylesheets目录中添加了一个名为mobile.css的文件。 application.css中不需要此文件,因为我只是通过我想为移动设备优化的页面显式添加它。当我运行rake assets:precompile时,它不会将其推入资产管道。我猜是否将它添加到application.css它会预编译,但我的移动样式表将覆盖我不想要的默认样式表。

在我的布局中使用以下内容在开发模式下运行良好:

- if mobile_device?
      = stylesheet_link_tag "mobile"

在生产中,这是不行,因为mobile.css没有被添加到管道中。

处理此问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:4)

您始终可以手动将其添加到application.rb

中的预编译数组中
config.assets.precompile += %w( mobile.css )

关于资产管道的经验法则:如果清单中不需要它或者它不在预编译数组中,它将不会被预编译。< / p>