-
Notifications
You must be signed in to change notification settings - Fork 39
Navigation
adrianmacneil edited this page Sep 9, 2011
·
8 revisions
The Navigation widgets works pretty much like the Tabnav but generates navigation links instead of tabs.
Let’s generate a main tabbed navigation for our site (I’ll call it main, you can call it what you want)
$ script/generate navigation main
create app/views/widgets
create app/views/widgets/_main_navigation.html.erb
It creates a partial with the navigation definition.
Now we can insert the navigation wherever we want, I’ll put it in my app/views/layouts/application.html.erb.
...
<%= navigation :main %>
<%= yield %>
...
Reload your pages, you should see top right navigation links.
Now you can edit the app/views/widgets/_main_navigation.html.erb partial:
...
add_item do |i|
i.named "home"
i.links_to :controller => "invoices"
end
...
add_item :link => "http://www.seesaw.it"
...
add_item do |i|
i.named "#{current_user.name}'s account"
i.links_to :controller => 'account'
end if current_user
add_item do |i|
i.named "welcome guest"
i.disable! # the link is not clickable
end
add_item do |i|
i.named "help"
i.links_to :controller => 'help'
i.new_window true
end
add_item do |i|
i.named "logout"
i.function_to 'App.logOutAction();'
end if logged_in?
The Navigation widgets offers a couple of benefits over standard links:
- you can disable items with i.disable!
- you can highlight the items using the same Tabnav highlighting system.
If you do not use these features, It’s probably better to use plain links.