【问题标题】:Stylesheet_link_tag does not work as expectedStylesheet_link_tag 未按预期工作
【发布时间】:2012-01-12 03:13:56
【问题描述】:

我正在使用 Rails 3.1.1,并且在我的资产文件夹中有样式表:

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

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

  • application.css
  • admin/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/- 子文件夹中加载 admin.css。据我了解,递归默认为 false,所以它不应该,对吧?

不管怎样,我试过了:

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

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

如果我尝试:

  <%= stylesheet_link_tag :all %>

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

我尝试了:cache =&gt; true:cache =&gt; false 的变体,但无济于事。

我的问题:

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

  2. 如何让 admin.css 从 application.css 继承?我只想在其中拥有管理界面的独特功能(例如不同的主体颜色)。

【问题讨论】:

    标签: ruby-on-rails stylesheet


    【解决方案1】:

    问题是由于:

     *= require_tree . 
    

    在 application.css 文件本身中。我认为这没有任何作用,因为它在注释括号内。

    【讨论】:

    • 非常感谢,您让我免于头痛。我想知道为什么会发生这种情况,被评论等等。
    • Rails 解释了这些神奇的 cmets。我相信它最初是用于 sass,但也适用于常规 css 文件。要让 admin.css 从 application.css 继承,只需从 admin.css 中 require application.css,使用这些神奇的 require cmets。
    【解决方案2】:

    我发现了我的问题...

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

    我需要包含 data-turbolinks-track。

    【讨论】:

    • Turbolinks 与资产路径无关。可能是启用它检测到文件中的更改并重新加载它,因此您最初遇到了缓存问题。
    猜你喜欢
    • 2021-06-04
    • 2022-01-24
    • 2015-05-11
    • 2020-05-15
    • 2014-10-31
    • 2018-02-12
    • 2014-01-20
    • 2015-01-13
    • 2013-08-01
    相关资源
    最近更新 更多