hi all,
Im looking for some pointers on best practices of when to use a helper and when to use a partial.
hi all,
Im looking for some pointers on best practices of when to use a helper and when to use a partial.
first, helpers...
for instance, i need to be able to display a sentence such as
"There are X things in your queue"
where X is an integer
now, depending on the number of things, the grammar will be different. if there is only 1 thing, I need it to say "There is 1 thing...", with 2 or more, it needs to read "There are 2 things..." and with 0 things, "There is nothing..."
now i could put all the code to handle this in my template, but that would be ugly (and not DRY), or i could but in a helper and just call the helper when I need to display that sentence correctly
def queue_title(things = 0) title = "There " case things when 0 title += "is nothing" when 1 title += "is 1 thing" else title += "are #{things} things" end title += " in your queue" title end
then in my view template
<%= title_for_queue(@things.size) ->
now a partial is a chunk of your view template that you want to either reuse or use repeatedly. candiates for partials are table rows, list items, forms, etc.
so say i have a form that i want to use a few different views, i would put it into a partial
_my_form.rhtml
<form ...> ... </form>
and wherever i want to show this form i can call
<%= render :partial => "my_form" -%>
i suggest you also read the rails docs on helpers and partials.
hope this helps
Chris
My rule of thumb is that if the rhtml is way to full of ERb <% %> tags, I'll make a helper instead.