如何在Rails 4中的application.html.erb中再添加一个样式表

时间:2014-10-02 19:29:02

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

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

我想再添加一个样式表&#34; authenticate.css&#34;以及&#34; application.css&#34;但我收到了错误。

Sprockets::Rails::Helper::AssetFilteredError in <controller>#<action>

Asset filtered out and will not be served: add 'Rails.application.config.assets.precompile += %w( authenticate.css )' to 'config/initializers/assets.rb' and restart your server

如果我没有错,这在rails 3中并非如此,我不想添加一行关于&#34; authenticate.css&#34;在&#34; config / initializers / assets.rb&#34;。这是在Rails 4中添加样式表的唯一方法,还是我做错了什么?

我不希望它通过在其中或* require_tree .中调用而成为application.css的一部分。我只是想在需要的视图中调用它,但不是在所有视图中调用它。

2 个答案:

答案 0 :(得分:1)

  

我不想在&#34; authenticate.css&#34;上添加一行代码。在&#34; config / initializers / assets.rb&#34;。这是在Rails 4中添加样式表的唯一方法,还是我做错了什么?

如果你看docs,就说

  

如果要包含其他清单或单个样式表和JavaScript文件,可以将它们添加到config / initializers / assets.rb中的预编译数组中

所以这行 基本上告诉rails预编译单个资产。

  

如果我没有错,那就不是rails 3中的情况

如果您查看此pull request ,您会看到来自sprockets_better_errors gem的完整性检查已合并到Rails 4.1中。目的是揭示在开发模式下运行应用程序时在生产中看到的资产管道错误

答案 1 :(得分:0)

确保在application.css文件中添加了* = require_tree,它会自动添加css文件夹中的所有css,并且无需手动添加它们。