Currently, there is no dedicated solution for making page titles in
Ruby on Rails. However, there is lots of custom solutions out there. A
few examples:
The instance variable:
View:
<h1><%= @title = "Hello world" %></h1>
Layout:
<title>Awesome Site | <%= @title || "Your main source of
awesomeness"
%></title>
The content_for helper:
<h1><% content_for :title, "Hello world" %></h1>
<title>Awesome Site | <%= yield :title || "Your main source of
awesomeness" %>
Besides this, there''s also a few people that prefer to set the page
title in the controller. I wouldn''t recommend that, though.
I recently posted a ticket on Lighthouse including a patch for Rails
that would allow you to use this syntax:
View:
<h1><%= title "Hello world" %></h1>
Layout:
<%= title(:site => "Awesome Site") %>
Which will output:
<title>Awesome Site - Hello World</title>
Two configuration options are available:
* reverse, reverses the order of page title and site name. Default is
false, site name first.
* separator, defines the separator of the page title and the site
name. Default is " - ".
More information on the patch here:
https://rails.lighthouseapp.com/projects/8994/tickets/2657-helper-for-generating-the-title-tag
Now, my question to you is: Which of the above solutions do you
prefer? If you have a completely different solution I would also like
to hear about it.
--
Best regards,
David Knorr
http://twitter.com/perplect