2011-12-01 56 views
4

我正在开发一个处理公共区域(截至今天,静态页面)的Rails应用程序,以及具有认证的私有空间等。这两个都是独立开发的。第一款采用手工制作,后者采用twitter bootstrap。如何使用rails资产管道有多个输出文件?

在生产中,rails会将我的资产编译为一个文件,并且某些样式相互冲突,从而导致公共区域中包含Twitter Bootstrap的某些元素...并非我想要的。

有没有办法配置资产管道,所以编译时,有两个输出?经典的application.css和front.css?

回答

7

是的,有。你需要有两个清单文件。我会打电话给公众一个application.css和私人的admin.css,因为这是一个常见的Rails约定。

application.css应该要求所有的公共CSS文件,并且您将需要删除require_tree指令,因为这是您不需要的东西。

第二个清单文件admin.css将包含您希望用于私人方面的内容。

然后,您可以使用Rails助手在布局中引用这些文件。

您将需要添加admin.css(和.js文件,如果有的话)的预编译数组这在生产中正常工作:

 
config.assets.precompile += ['admin.js', 'admin.css'] 
+0

这似乎并不当我使用工作它添加第二个js清单 – ahnbizcad