Rails - override <head> page element when using a partial or a specific controller view

erb, ruby-on-rails, ruby-on-rails-3.2

Solution

In your `application.html.erb`:

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

In your "specific" view:

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

`:for_head` isn't predefined: naming it is up to you. It could be anything.

Problem

Is there a way to append or override the `<head>` page element inside a rails view? Suppose I have something I only want to include in a particular view's `<head>`, and I am using the `application.html.erb` in order to render the rest of my views. In this case I do not want to discard `application.html.erb` but instead just append to it's head element for one particular page and nothing else.

Original source