= menu_builder A simple helper to make easier the process of highlighting menu items based on current url. The goal here is to reduce the amount of if/elses you would typically need in your views to achieve the same results. == Instalation gem "menu_builder" == Usage First flag at class level in your Controller which item should be highlighted === Controller class DashboardController < ApplicationController menu_item :mydashboard ... end You can also change to menu item at action level instead of class level. This option is helpful when you have most of the actions pointing to one menu item but a few actions pointing to another. class DashboardController < ApplicationController menu_item :mydashboard def prices menu_item :prices ... end end === View ==== ERB code <%= menu(:id=>"mainMenu", :class=>"menu") do |m| %> <%= m.account 'Account', account_path, :style => 'float: right' %> <%= m.users 'Users', users_path, :style => 'float: right' %> <%= m.mydashboard 'Dashboard', '/' %> <%= m.projects 'Projects', projects_path %> <% end %> ==== HTML Result
==== Blocks for content You can also pass blocks: <%= menu do |m| %> <% m.account account_path do %> <%= image_tag "icon.jpg" /> Accounts <% end %> <%= m.users "Users", users_path %> <%= m.posts "Posts", posts_path %> <% end %>