opensoul.org

Edge Rails gets layouts for partials

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 %>
</filter:jsode>

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:

<source:erb>
<% render :layout => "admin", :locals => { :user => owner } do %>
        <%= render :partial => "user", :collection => @users %>
          (owner)
<% end %>

edge, layouts, partials, and rails August 02, 2007

Post a Comment

Comments use textile. Anonymous comments will be deleted.

My name is Brandon Keepers. I like to build things, usually in Ruby or JavaScript. I work at GitHub and live in Holland, MI.

Popular Posts