This project is archived and is in readonly mode.
Add :spacer option to render
Reported by Ryan Bates | August 14th, 2008 @ 05:15 PM | in 2.x
Currently the "render" method allows you to pass a :spacer_template to render a partial between each item in the collection.
<%= render :partial => @items, :spacer_template => 'item_divider' %>
This is good for complex spacers, but sometimes you have a very simple spacer. Like ", " or "<hr />". For these cases, it seems silly to make an external partial which just has this tiny fragment. Even the name of the partial is longer than the contents.
This patch adds a :spacer option which will just take a string.
<%= render :partial => @items, :spacer => "<hr />" %>
You can get that HTML out of the string with the tag method.
<%= render :partial => @items, :spacer => tag(:hr) %>
Much prettier.
Comments and changes to this ticket
-
Pratik August 21st, 2008 @ 03:33 PM
- State changed from new to wontfix
I think spacer templates might be better served as a plugin. Very few people actually use them. We might as well remove it from core if the plugin becomes defacto implementation.
Thanks.
-
Ryan Bates August 21st, 2008 @ 07:03 PM
I agree many people don't use spacer_template, but I would certainly use this :spacer option more. I need this behavior in almost every project but find other work-arounds because a spacer template just feels so ugly.
I'm willing to make a plugin with this behavior, but I don't see how it would be possible without re-implementing the entire "render_partial_collection" method. That isn't a good solution.
Any ideas?
-
Jeremy Weiskotten August 21st, 2008 @ 08:25 PM
@Ryan, I think it would be a good addition to the better_partials plugin. There are some other good ideas in there.
-
Ryan Bates August 21st, 2008 @ 09:02 PM
The better_partials plugin is just a wrapper around "render", so it faces the same problem. There's no way to add a spacer as a string without re-implementing the render_partial_collection method.
-
Ryan Bates August 22nd, 2008 @ 01:02 AM
I added ticket #881 which does some refactoring to ActionView::Partials. Then it will be easier for plugins to override render_partial_collection and support more options.
This also makes it easier to remove the spacer_template option if you ever decide to in the future.
-
Jon Kneller April 9th, 2009 @ 10:59 PM
I was just trying to find such a feature, and came across this ticket. Would have been really nice if Rails supported this.
-
Jeff Kreeftmeijer November 4th, 2010 @ 07:14 AM
- Tag cleared.
- Importance changed from to Low
Automatic cleanup of spam.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
<h2 style="font-size: 14px">Tickets have moved to Github</h2>
The new ticket tracker is available at <a href="https://github.com/rails/rails/issues">https://github.com/rails/rails/issues</a>
People watching this ticket
Attachments
Referenced by
- 1014 render partial collection with inline spacer Plan is to deprecate spacer templates and move them to pl...