Render Context
Whenever you're inside of a layout .html.erb file the scope gives you access to several methods and helpers.
current_page
This is either null or a page object. If present it's alway set to the item being currently rendered.
public_tags
All of the tags that don't start with _ on any page registered. Useful for rendering tag clouds or nav to all tags.
pages_tagged 'tag' or pages_tagged 'tag', all: true
Returns any pages with the given tag, public or private (prfixed with _). By default only returns pages that have been
marked as published by setting the published_at attribute of the page object. If you set all: true the
method returns all pages tagged that value, regardless of whether it was published or not.
is_root!
If you call this inside the template it will make sure that this is the last template rendered. Useful if you want to have
a completely different layout for different pages or sections of the site.
content_for
You can pass values higher up the layout chain, if another layout calls <%= yield :value %> you can populate this by either
calling content_for :value, 'some value' or using the block syntax
<% content_for :header do %>
<script src="//google.com/my-script.js"></script>
<% end %>