如何在 Rails (5.2) 上的 Ruby 中实施页面特定 CSS

How do I implement page specific CSS in Ruby on Rails (5.2)

我已经删除了 require_tree 并将我的 CSS 放在它们各自的资产文件中对控制器唯一,并且 CSS 不是特定于页面的。我猜我必须按照 rails 指南中 ruby 的指示使用 <%= stylesheet_link_tag params[:controller] %>

这是否意味着我删除了 app/views/layouts/application.html.erb 中的 <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> 并将特定样式表标签放入各自的视图中?

或者如果有另一种方法可以更有效地获取 CSS 特定页面,那也很好。

一个流行的解决方案是在 application.html.erb 中添加一个 class 到这样的正文中:

<body class="<%= controller_name.underscore %>"> 

之后你可以在不同的css文件中使用非常简单的逻辑

body.posts_controller {
  #posts {
    max-height: 200px;
  }
}