application.css对于不同的布局如何正确设置?

时间:2016-03-29 17:33:28

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

在我的Rails应用程序中,我有几个布局,每个我想加载特殊的CSS我怎么能这样做?

目前application.css看起来像这样:

//= require bootstrap.min
//= require filechooser
//= require bootstrap-switch.min
//= require jquery.datetimepicker
//= require fancybox2_1_5/jquery.fancybox
//= require style
*= require_self
*/

2 个答案:

答案 0 :(得分:1)

如果您对不同的控制器使用不同的布局,则可以通过向{{1}添加方法,直接在布局中使用特殊的 css js 文件如下:

ApplicationHelper

然后,将此辅助方法添加到def controller_stylesheet_link_tag if params[:controller] == "foo" stylesheet_link_tag 'foo' else stylesheet_link_tag 'bar' end end -

等布局中
application.html.erb

答案 1 :(得分:1)

我喜欢为每个布局使用特定的JS / CSS文件(如适用)。

例如,app/layouts/application.html.erb会有application.css,如下所示:

<%= stylesheet_link_tag 'application' %>

app/layouts/admin.html.erbadmin.css

<%= stylesheet_link_tag 'admin' %>

使用Sprockets 3或更高版本,您甚至可以使用目录中的索引文件来保持组织有序。 app/assets/stylesheets/admin/index.css将以admin.css的形式提供。有关详细信息,请参阅Index Files are proxies for folders