I am starting to work with rails and like to build a very basic cms.
I was using scaffolding.
Page title:string permalink:string body:text.
What I like to do is create a menu out of the database entries
permalink.
Those should link to the fitting pages.
So i modified my index.html.erb from the pages view like this:
<% @pages.each do |page| %>
<%= link_to_unless_current page.permalink, page_path(page) %>
<% end %>
I like to use something like the code above in a div layer as a menu
and link the result to the div layer were the <% yield %> is placed.
I was trying to do this with helper module and also with partials, but
I couldnt solve this.
Do I need ajax? or is there a way to do it with rails only?
The tab_for function does a match on the request path to determine if
its active or not...works well for single level menus, but would need
modification to support sub menus.
1. Scan a available controllers, and add table entries for any "new"
ones automatically
2. If updates, generate new tabnav menus automatically at startup.
I use widgets for my menu, and do nesting to multiple levels.
Since I tend to use namespaces as well for different major functions,
a lot of "assumptions" can be made based on controller location and
name.
The nice thing is you can then "edit" the table, and regenerate the
tabnav menu.
If your interested, shout, I'll go dig up the code.
I use ActiveScaffold, and Widgets/Tabnav for my sites. On top of that,
I use some ruby code
to glue it to a database table.
1. Scan a available controllers, and add table entries for any "new"
ones automatically
2. If updates, generate new tabnav menus automatically at startup.
Sounds like a good candidate for a plugin! Let us know if you go there.