Edge Rails gets layouts for partials

August 3, 2007 code 2 min read

Edge Rails picked up a new feature today we’ve often longed for at Collective Idea. Partials can have a layout:

<%= render :partial => "user", :layout => "admin", :collection => @users %>

This would wrap the user partial with the admin layout, which in this example adds an edit link for the admin user:

<% content_tag_for :li, user do %>
	<%= yield %>
	<%= link_to 'Edit', edit_user_path(user) %>
<% end %>

Another cool feature in this patch is the ability to add a layout to any block in a template, for those one-off situations, or to just tidy up repeated markup:

<% render :layout => "admin", :locals => { :user => owner } do %>
	<%= render :partial => "user", :collection => @users %>
<% end %>
This content is open source. Suggest Improvements.


avatar of Brandon Keepers I am Brandon Keepers, and I work at GitHub on making Open Source more approachable, effective, and ubiquitous. I tend to think like an engineer, work like an artist, dream like an astronaut, love like a human, and sleep like a baby.