我正在开发一个处理公共区域的rails应用程序(截至今天,静态页面),以及具有身份验证等的私有空间。这两个都是独立开发的。第一个是手工制作的风格,后者使用twitter bootstrap。
在生产中,rails将我的资产编译成一个文件,并且一些样式是冲突的,导致公共区域有一些Twitter Bootstrap的元素......不是我想要的。
有没有办法配置资产管道,所以当它编译时,有两个输出?经典的application.css和front.css?
答案 0 :(得分:7)
是的,有。您需要有两个清单文件。我会将公众称为application.css
,将私人称为admin.css
,因为这是一个常见的Rails惯例。
application.css
应该需要所有公共CSS文件,您需要删除require_tree指令,因为这包含了您不想要的内容。
第二个清单文件admin.css
将包含您想要私有方的内容。
然后,您可以使用Rails帮助程序在布局中引用这些文件。
您需要将admin.css(和.js,如果有的话)添加到预编译数组中,以便在生产中正常工作:
config.assets.precompile += ['admin.js', 'admin.css']