在Rails中的不同视图中引用不同的样式表

时间:2013-02-04 20:09:08

标签: ruby-on-rails ruby-on-rails-3.2 sprockets

我想为Rails应用程序的不同部分设置一组不同的样式表。例如,我想为登录页面设置一组样式表,为后端admin页面设置一组不同的样式表,为登录的account页面设置另一套样式表。

我已经将样式表组织到名称为account,home和admin的文件夹中,我知道如何在application.css中指定只编译一个文件夹。

*= require_self
*= require_tree ./account
*/

我的问题是,如果用户正在查看管理页面,或者主页中管理员或主文件夹中的样式表应该是引用的唯一样式表,我该如何指定?

由于

1 个答案:

答案 0 :(得分:10)

无法创建条件样式表创建,因为在生产时它是在部署时编译的。

您必须创建单独的样式表,例如,一个是默认的application.css:

/*
 *= require_self
 *= require some_stylesheet
*/

然后分开,admin.css

/*
 *= require_self
 *= require some_admin_stylesheet
*/

然后在生产环境配置延伸线:

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

接下来,创建单独的布局/或创建条件包含:

<%= stylesheet_link_tag    "admin" %>