What is the best way to return multiple tags from a Rails Helper?
There are several ways to do this.
Remember that the existing rails helpers like link_to
, etc, just output strings. You can concatenate the strings together and return that (which is what I do most of the time, if things are simple).
EG:
link_to( "something", something_path ) + #NOTE THE PLUS FOR STRING CONCAT form.hidden_field('something'.tableize, :value=>'something')
If you're doing things which are more complicated, you could just put that code in a partial, and have your helper call render :partial
.
If you're doing more complicated stuff than even that, then you may want to look at errtheblog's block_to_partial helper, which is pretty cool
So far the best I have come up with is:
def my_cool_helper(name, form) out = capture { link_to name, a_path } out << capture { form.hidden_field name.tableize, value => 'something' }end
Is there a better way?
If you want to buffer other output which apart from string then you can use concat
instead of +
.see this - http://thepugautomatic.com/2013/06/helpers/