最有效的链接样式表在rails中的位置

时间:2016-05-18 23:41:38

标签: ruby-on-rails

我一直在争论这个问题已经有一段时间了,但我仍然不太确定链接样式表的合适位置。我没有问题让样式表工作,但我想知道什么是官方的“railsy”方式来做到这一点。您是否在application.html中链接了所有样式表?

当我创建新视图或查看目录时,我可能会创建一个样式表,其中包含该目录的所有样式。如果目录中有更复杂的页面,我可以创建多个样式表,每个页面一个。现在是否适合在应用程序布局中链接到这些样式,或者仅在使用stylesheet_link_tag加载视图时才加载它?

当我尝试将每个页面加载的样式加载时,它似乎更加缓慢,但是只要将所有样式表都加载到应用程序布局中,它就感觉不对。

如何链接样式表?

1 个答案:

答案 0 :(得分:1)

您可以使用content_for添加这些样式并在每个视图中设置它们。

application.html.haml

%html
  %head
    %title YOUR_APP
    = stylesheet_link_tag 'application', media: 'all'
    = yield :stylesheet

应用/家/ index.scss

h2 {
  color: blue;
}

家/ index.html.haml

= content_for :stylesheet, stylesheet_link_tag("application/home/index")


%h2
  My home index

application.scss

@import 'base/base';
@import 'modules/module';

然后,它只会在您点击home#index页面时加载。通常我们会在application.scss@import '..'*= require ...)中添加所有常用 css,并且只使用content_for添加最具体的视图css。