【问题标题】:How to have only one page in a rails project be linked to a certain stylesheet?如何在 rails 项目中只有一个页面链接到某个样式表?
【发布时间】:2014-05-27 22:19:25
【问题描述】:
我在 Rails 项目中有一个控制器 main_pages,它包含两个视图:home.html 和 team.html。 home 和 team 的所有 css 和样式都已进入 main_pages.css.scss,但我想将特定于每个页面的一些样式分离到各自的 css 样式表中,例如 home.css.scss 和 @ 987654328@。创建这些样式表不是问题,但我将如何链接它们?
我什至不知道home.html 和team.html 是如何与main_pages.css.scss 相关联的,因为我在application.html 的标题中没有看到任何链接这两者的代码。有人可以解释这个链接是如何制作的吗?
【问题讨论】:
标签:
html
css
ruby-on-rails
sass
【解决方案1】:
在 application.html.erb 中,在 head 部分的某处添加以下 sn-p:
<head>
<%= content_for?(:custom_styles) ? yield(:custom_styles) : '' %>
</head>
然后在您的视图文件中(例如home.html.erb),您可以将自定义样式表添加到当前视图:
<% content_for :custom_styles do %>
<%= stylesheet_link_tag "custom_stylesheet_name" %>
<% end %>
现在您添加到页面视图文件中 content_for 块的所有内容都将添加到标题中,因此如果您添加样式表链接标记,它也会添加到标题中。