Went back and forth a bit trying to find out the easiest way to do this.
Found a plugin but it didn’t seem very stable/well written.
This is what I have going right now:
- if @content_for_recipe_editor_tabs
= yield :recipe_editor_tabs - else
= tabbed_navigator(RecipesController.send “edit_tabs”)
If any templates/sub-templates/partials used in this render have
something
like this:
- content_for(‘recipe_editor_tabs’ ) do
= tabbed_navigator(RecipesController.send “new_tabs”)
That content will be used in place of the content specified in the else
block.
Here’s what new_tabs and edit_tabs looks like.
def self.new_tabs
[tab(“Description”, :new_ingredient_path, :needs => [:recipe])]
end
This will likely abstract a little more as we add more views that need
tabbed_navigators, but I’ll hold off on that to see where the repetition
crops up.
‘tabbed_navigator’ helper takes the array of tabs and renders them as an
ul
with links. Highlighting rules are currently done with a current_page?
call.
tab(name, url_for_method, options) Returns a Hash with greater verbosity
and
possible defaults.
Right now this looks like the simplest way to do things. I looked a bit
at:
http://blog.seesaw.it/articles/2006/07/23/the-easiest-way-to-add-tabbed-navigation-to-your-rails-app
And had some trouble installing it and using it.
Does anybody know of any other easy solutions to this issue?