Stylesheet_link_tag无法按预期工作

时间:2011-12-03 11:38:17

标签: ruby-on-rails stylesheet

我正在使用Rails 3.1.1,并在我的assets-folder中包含样式表:

  • application.css
  • abc.css.scss
  • def.css.scss

也在子文件夹/ admin /我有admin.css。总而言之

  • application.css
  • 管理员/ admin.css
  • abc.css.scss
  • def.css.scss

现在,使用:

<%= stylesheet_link_tag 'application' %>

...(这似乎是默认的)我希望它只加载application.css但它不仅加载application.css而且加载abc.css.scss等。

<link href="/assets/application.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<link href="/assets/admin/admin.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<link href="/assets/affiliate_types.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<link href="/assets/benefits.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<link href="/assets/buy_this_ifs.css?body=1" media="screen" rel="stylesheet" type="text/css" />

此外,它在/ admin / -subfolder中加载admin.css。据我所知,递归被默认为假,所以它不应该,对吧?

无论如何,我试过了:

  <%= stylesheet_link_tag 'application', :recursive => false %>

仍然加载了admin / admin.css。换句话说,结果与上面相同。

如果我尝试:

  <%= stylesheet_link_tag :all %>

它只会加载一个找不到的“all.css”。

我尝试过:cache => true:cache => false的变种无济于事。

我的问题:

  1. 如何让rails导入所有样式表(application.css,abc.css.scss等)但不是admin / admin.css?

  2. 如何从admin.css继承admin.css?我只想在那里拥有管理界面的独特功能(例如不同的车身颜色)。

2 个答案:

答案 0 :(得分:5)

问题是由于:

 *= require_tree . 

在application.css文件中。我认为这没有做任何事情,因为它在评论括号内。

答案 1 :(得分:-1)

我发现了我的问题...

<%= stylesheet_link_tag 'homepage', media: 'all', 'data-turbolinks-track' => true %>

我需要包含数据 - turbolinks-track。