Skip to content
Tabs on Rails is a simple Rails plugin for creating and managing tabs and navigation menus.
Branch: master
Clone or download
Pull request Compare This branch is 2 commits ahead, 7 commits behind weppos:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Tabs on Rails

TabsOnRails is a simple Rails plugin for creating tabs and navigation menus. It provides helpers for generating navigation menus with a flexible interface.


  • Rails 3

Please note

  • TabsOnRails 2.x requires Rails 3. Use TabsOnRails 1.3.x with Rails 2.
  • TabsOnRails doesn't work with Rails 2.1 or lower (comment and commit).


RubyGems is the preferred way to install TabsOnRails and the best way if you want install a stable version.

$ gem install tabs_on_rails

Specify the Gem dependency in the Bundler Gemfile.

gem "tabs_on_rails"

Use Bundler and the :git option if you want to grab the latest version from the Git repository.


In your template use the tabs_tag helper to create your tab.

<%= tabs_tag do |tab| %>
  <%= tab.home      'Homepage', root_path %>
  <%= tab.dashboard 'Dashboard', dashboard_path %>
  <%= tab.account   'Account', account_path %>
<% end %>

The example above produces the following HTML output.

  <li><a href="/">Homepage</a></li>
  <li><a href="/dashboard">Dashboard</a></li>
  <li><a href="/account">Account</a></li>

The usage is similar to the Rails route file. You create named tabs with the syntax tab.name_of_tab. The name you use creating a tab is the same you're going to refer to in your controller when you want to mark a tab as the current tab.

Now, if the action belongs to DashboardController, the template will automatically render the following HTML code.

  <li><a href="/">Homepage</a></li>
  <li class="custom"><span>Dashboard</span></li>
  <li><a href="/account">Account</a></li>

Use the current_tab helper method if you need to access the value of current tab in your controller or template.

class DashboardController < ApplicationController
  set_tab :dashboard

# In your view
<p>The name of current tab is <%= current_tab %>.</p>

Read the documentation to learn more about advanced usage, builders and namespaces.



Copyright (c) 2009-2013 Simone Carletti. This is Free Software distributed under the MIT license.

You can’t perform that action at this time.