Rails - 使用部分或特定控制器视图时覆盖页面元素

时间:2012-04-19 09:55:11

标签: ruby-on-rails erb ruby-on-rails-3.2

有没有办法在rails视图中追加或覆盖<head>页面元素?

假设我有一些我只想包含在特定视图<head>中的内容,并且我使用application.html.erb来呈现其余视图。在这种情况下,我不想丢弃application.html.erb,而只是将它附加到一个特定页面的头元素而不是其他任何内容。

1 个答案:

答案 0 :(得分:30)

application.html.erb

<head>
  <% if content_for? :for_head %>
    <%= yield :for_head %>
  <% end %>

在“特定”视图中:

<% content_for :for_head do %>
  Something-to-put-in-head
<% end %>

:for_head未预定义:命名取决于您自己。它可以是任何东西。