render :partial in /app/views/layouts

Hi all,

I have many layouts that apply to parts of my Rails site. Some of the elements of each of the layouts are the same. I would like to create something like a partial to use within layouts.

For example, I might have two layouts that have identical <head> information, but different <body> formatting.

Is there a way to separate out the identical information so I can DRY up my layout code? I didn't have much luck creating partials in the layout directory.

Thanks, trv

After doing some searching I found nested-layouts (http://github.com/ radar/nested-layouts/tree/master). It seems to do the trick, although to get it to work with my Rails 2.3.2 app, I had to change part of line 13 of lib/nested_layouts.rb from 'app/views/layouts' to "# {RAILS_ROOT}/app/views/layouts"

If anyone has some better/alternative solutions, I am all ears.

trv

Actually partials in the layout directory work fine (like in any other dir), but you need to specify the directory explicitly:

layouts/   _head.html.erb   application.html.erb

In application.html.erb   <%= render :partial => 'layouts/head' %>

Dmitry