<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Simone Carletti&#039;s Blog &#187; tabs on rails</title>
	<atom:link href="http://www.simonecarletti.com/blog/tags/tabs-on-rails/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.simonecarletti.com/blog</link>
	<description>Simone Carletti&#039;s personal ramblings on programming, syndication, search engines &#38; marketing.</description>
	<lastBuildDate>Tue, 07 Feb 2012 08:48:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>TabsOnRails 2.0.0</title>
		<link>http://www.simonecarletti.com/blog/2011/02/tabsonrails-2-0-0/</link>
		<comments>http://www.simonecarletti.com/blog/2011/02/tabsonrails-2-0-0/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 10:56:46 +0000</pubDate>
		<dc:creator>Simone Carletti</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[tabs on rails]]></category>

		<guid isPermaLink="false">http://www.simonecarletti.com/blog/?p=1270</guid>
		<description><![CDATA[TabsOnRails 2.0.0 is now available. This release targets Rails 3.0 and is no longer compatible con Rails 2.3.x.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.simonecarletti.com/code/tabs_on_rails">TabsOnRails</a> is a simple Rails plugin for creating tabs and navigation menus. It provides helpers for generating navigation menus with a flexible interface.</p>
<p>Release 2.0.0 is now available. It targets Rails 3.0 and is no longer compatible con Rails 2.3.x.</p>
<p>You can <a href="http://rubygems.org/gems/tabs_on_rails">download/install the Gem via RubyGems</a>.</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">$ </span>gem <span style="color: #c20cb9; font-weight: bold;">install</span> tabs_on_rails</div></td></tr></tbody></table></div>
<p>For more details please read the <a href="http://www.simonecarletti.com/code/tabs_on_rails/docs.html">documentation</a> or <a href="http://www.simonecarletti.com/code/tabs_on_rails/api/">API</a>.</p>
<p>Related posts<ol>
<li><a href='http://www.simonecarletti.com/blog/2009/05/tabsonrails-030-with-concurrent-tabs-support-aka-namespaces/' rel='bookmark' title='TabsOnRails 0.3.0 with concurrent tabs support aka namespaces'>TabsOnRails 0.3.0 with concurrent tabs support aka namespaces</a></li>
<li><a href='http://www.simonecarletti.com/blog/2009/06/tabsonrails-0-8-0/' rel='bookmark' title='TabsOnRails 0.8.0'>TabsOnRails 0.8.0</a></li>
<li><a href='http://www.simonecarletti.com/blog/2009/10/tabsonrails-graduated-from-beta/' rel='bookmark' title='TabsOnRails graduated from beta'>TabsOnRails graduated from beta</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.simonecarletti.com/blog/2011/02/tabsonrails-2-0-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TabsOnRails graduated from beta</title>
		<link>http://www.simonecarletti.com/blog/2009/10/tabsonrails-graduated-from-beta/</link>
		<comments>http://www.simonecarletti.com/blog/2009/10/tabsonrails-graduated-from-beta/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 20:00:22 +0000</pubDate>
		<dc:creator>Simone Carletti</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[tabs]]></category>
		<category><![CDATA[tabs on rails]]></category>

		<guid isPermaLink="false">http://www.simonecarletti.com/blog/?p=693</guid>
		<description><![CDATA[TabsOnRails 1.0.0 is now available. TabsOnRails is a simple Rails plugin for creating and managing tabs menu and navigation menu with Ruby on Rails. ]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.simonecarletti.com/code/tabs_on_rails"><strong>TabsOnRails</strong> 1.0.0</a> is now available. <strong>TabsOnRails</strong> is a simple Rails plugin for <strong>creating and managing tabs menu and navigation menu with Ruby on Rails</strong>. It provides helpers for creating tabs, an navigation menu in general, with a flexible interface.</p>
<p>The first stable release is now available and I&#8217;m also really proud to say that <strong>TabsOnRails</strong> has <a href="http://twitter.com/weppos/status/5254815164">100% coverage of the source code</a>. This doesn&#8217;t mean the plugin is perfect, nor I can assume this is bug-free. However, the plugin definitely deserves the <em>stable</em> flag.</p>
<p>I have been using <strong>TabsOnRails</strong> for creating tabs and navigation menu in the last year and I&#8217;m really satisfied with how the plugin evolved. I hope you&#8217;ll enjoy it.<span id="more-693"></span></p>
<h2>Getting Started</h2>
<p>In your template use the <code>tabs_tag</code> helper to create your tab.</p>
<div class="codecolorer-container text default code-ruby" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;% tabs_tag do |tab| %&gt;<br />
&nbsp; &lt;%= tab.home &nbsp; &nbsp; &nbsp; 'Homepage', root_path %&gt;<br />
&nbsp; &lt;%= tab.dashboard &nbsp;'Dashboard', dashboard_path %&gt;<br />
&nbsp; &lt;%= tab.account &nbsp; &nbsp;'Account', account_path %&gt;<br />
&lt;% end %&gt;</div></td></tr></tbody></table></div>
<p>The example above produces the following HTML output.</p>
<div class="codecolorer-container text default code-ruby" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;ul&gt;<br />
&nbsp; &lt;li&gt;&lt;a href=&quot;/&quot;&gt;Homepage&lt;/a&gt;&lt;/li&gt;<br />
&nbsp; &lt;li&gt;&lt;a href=&quot;/dashboard&quot;&gt;Dashboard&lt;/a&gt;&lt;/li&gt;<br />
&nbsp; &lt;li&gt;&lt;a href=&quot;/account&quot;&gt;Account&lt;/a&gt;&lt;/li&gt;<br />
&lt;/ul&gt;</div></td></tr></tbody></table></div>
<p>The usage is similar to the Rails route file. You create named tabs with the syntax tab.name_of_tab.</p>
<p>The name you use creating a tab is the same you&#8217;re going to refer to in your controller when you want to mark a tab as the current tab.</p>
<div class="codecolorer-container text default code-ruby" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">class DashboardController &lt; ApplicationController<br />
&nbsp; set_tab :dashboard<br />
end</div></td></tr></tbody></table></div>
<p>Now, for every action defined in <code>DashboardController</code>, the template will automatically render the following HTML code.</p>
<div class="codecolorer-container text default code-ruby" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;ul&gt;<br />
&nbsp; &lt;li&gt;&lt;a href=&quot;/&quot;&gt;Homepage&lt;/a&gt;&lt;/li&gt;<br />
&nbsp; &lt;li&gt;Dashboard&lt;/li&gt;<br />
&nbsp; &lt;li&gt;&lt;a href=&quot;/account&quot;&gt;Account&lt;/a&gt;&lt;/li&gt;<br />
&lt;/ul&gt;</div></td></tr></tbody></table></div>
<p>Use the <code>current_tab</code> helper method if you need to access the value of current tab in your controller or template.</p>
<div class="codecolorer-container text default code-ruby" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">class DashboardController &lt; ApplicationController<br />
&nbsp; set_tab :dashboard<br />
end<br />
<br />
# In your view<br />
The name of current tab is &lt;%= current_tab %&gt;.</div></td></tr></tbody></table></div>
<p>The <code>open_tag</code> can be customized with the <code>:open_tabs</code> option.</p>
<div class="codecolorer-container text default code-ruby" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;% tabs_tag :open_tabs =&gt; { :id =&gt; &quot;tabs&quot;, :class =&gt; &quot;cool&quot; } do |tab| %&gt;<br />
&nbsp; &lt;%= tab.home &nbsp; &nbsp; &nbsp;'Homepage', root_path %&gt;<br />
&nbsp; &lt;%= tab.dashboard 'Dashboard', dashboard_path %&gt;<br />
&nbsp; &lt;%= tab.account &nbsp; 'Account', account_path %&gt;<br />
&lt;% end %&gt;<br />
<br />
&lt;ul id=&quot;tabs&quot; class=&quot;cool&quot;&gt;<br />
&nbsp; &lt;li&gt;&lt;a href=&quot;/&quot;&gt;Homepage&lt;/a&gt;&lt;/li&gt;<br />
&nbsp; &lt;li&gt;&lt;a href=&quot;/dashboard&quot;&gt;Dashboard&lt;/a&gt;&lt;/li&gt;<br />
&nbsp; &lt;li&gt;&lt;a href=&quot;/account&quot;&gt;Account&lt;/a&gt;&lt;/li&gt;<br />
&lt;/ul&gt;</div></td></tr></tbody></table></div>
<p>Further customizations require a custom Builder (see below).</p>
<h2>Installation</h2>
<p>You can upgrade/install the library via RubyGems.</p>
<div class="codecolorer-container text default code-bash" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ gem install tabs_on_rails --source http://gemcutter.org</div></td></tr></tbody></table></div>
<p>Please note the GEM is <a href="http://www.simonecarletti.com/blog/2009/10/tabsonrails-and-helperful-migrated-to-gemcutter/">now hosted on Gemcutter</a>. If you installed it from GitHub you need to uninstall <code>weppos-tabs_on_rails</code> and install <code>tabs_on_rails</code>.</p>
<p>As usual, patches and feedback are welcomed.</p>
<p>Related posts<ol>
<li><a href='http://www.simonecarletti.com/blog/2009/04/tabsonrails/' rel='bookmark' title='TabsOnRails: creating and managing Tabs with Ruby on Rails'>TabsOnRails: creating and managing Tabs with Ruby on Rails</a></li>
<li><a href='http://www.simonecarletti.com/blog/2009/05/tabsonrails-030-with-concurrent-tabs-support-aka-namespaces/' rel='bookmark' title='TabsOnRails 0.3.0 with concurrent tabs support aka namespaces'>TabsOnRails 0.3.0 with concurrent tabs support aka namespaces</a></li>
<li><a href='http://www.simonecarletti.com/blog/2009/06/tabsonrails-0-8-0/' rel='bookmark' title='TabsOnRails 0.8.0'>TabsOnRails 0.8.0</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.simonecarletti.com/blog/2009/10/tabsonrails-graduated-from-beta/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>TabsOnRails and Helperful migrated to Gemcutter</title>
		<link>http://www.simonecarletti.com/blog/2009/10/tabsonrails-and-helperful-migrated-to-gemcutter/</link>
		<comments>http://www.simonecarletti.com/blog/2009/10/tabsonrails-and-helperful-migrated-to-gemcutter/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 19:07:03 +0000</pubDate>
		<dc:creator>Simone Carletti</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[gemcutter]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[helperful]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[tabs on rails]]></category>

		<guid isPermaLink="false">http://www.simonecarletti.com/blog/?p=644</guid>
		<description><![CDATA[Helperful and TabsOnRails Rails plugin are now available on Gemcutter.]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-646" title="GitHub Gems" src="http://www.simonecarletti.com/blog/wp-content/uploads/2009/10/github-gems-150x150.png" alt="GitHub Gems" width="150" height="150" />Just in case you haven&#8217;t heard the news, <a href="http://github.com/blog/515-gem-building-is-defunct">Github discontinued support for building gems</a>. Gem building has been disabled since the move to Rackspace and existing Gem will be available at <a href="http://gems.github.com/">gems.github.com</a> for at least one year.</p>
<p>In the meanwhile, there&#8217;s an other Gem hosting solution silently gaining popularity: <a href="http://gemcutter.org/">Gemcutter</a>. Gemcutter aims to be a <strong>Gem hosting alternative to RubyForge</strong>. I never really liked the GitHub Gem system: altering the original Gem name with my login was a quick workaround for name clashes but causes a lot of confusion when trying to install the original version of a Gem or upgrading a Gem from multiple sources. But GitHub was effectively the most simple (and the unique) alternative to distribute a Ruby library as a Gem without creating a full RubyForge project and, most of all, it worked.</p>
<p>Now that GitHub Gem system is gone, I gave a look at Gemcutter and I eventually decided to move there my <a href="http://code.simonecarletti.com/helperful">Helperful</a> and <a href="http://www.simonecarletti.com/code/tabs_on_rails">TabsOnRails</a> Gems.</p>
<p><a href="http://gemcutter.org/gems/helperful">Helperful 0.5.2</a> and <a href="http://gemcutter.org/gems/tabs_on_rails">TabsOnRails 0.8.2</a> are now available. The source code for both libraries is still hosted on GitHub <a href="http://github.com/weppos/helperful">here</a> and <a href="http://github.com/weppos/tabs_on_rails">here</a>. The documentation has been updated accordingly.<span id="more-644"></span></p>
<p>The main benefit of using GemCutter is that you no longer need to pass the :lib option when declaring a Gem dependency in your Rails project.</p>
<div class="codecolorer-container text default code-ruby" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Rails::Initializer.run do |config|<br />
<br />
&nbsp; # other configurations<br />
&nbsp; # ...<br />
<br />
&nbsp; config.gem &quot;weppos-tabs_on_rails&quot;, :lib =&gt; &quot;tabs_on_rails&quot;, :source =&gt; &quot;http://gemcutter.org/&quot;<br />
<br />
end</div></td></tr></tbody></table></div>
<p>is now simply</p>
<div class="codecolorer-container text default code-ruby" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Rails::Initializer.run do |config|<br />
<br />
&nbsp; # other configurations<br />
&nbsp; # ...<br />
<br />
&nbsp; config.gem &quot;tabs_on_rails&quot;, :source =&gt; &quot;http://gemcutter.org/&quot;<br />
<br />
end</div></td></tr></tbody></table></div>
<p>Thank you GitHub for taking care of my Gems and welcome Gemcutter.</p>
<p>Related posts<ol>
<li><a href='http://www.simonecarletti.com/blog/2011/02/tabsonrails-2-0-0/' rel='bookmark' title='TabsOnRails 2.0.0'>TabsOnRails 2.0.0</a></li>
<li><a href='http://www.simonecarletti.com/blog/2009/10/tabsonrails-graduated-from-beta/' rel='bookmark' title='TabsOnRails graduated from beta'>TabsOnRails graduated from beta</a></li>
<li><a href='http://www.simonecarletti.com/blog/2009/05/tabsonrails-030-with-concurrent-tabs-support-aka-namespaces/' rel='bookmark' title='TabsOnRails 0.3.0 with concurrent tabs support aka namespaces'>TabsOnRails 0.3.0 with concurrent tabs support aka namespaces</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.simonecarletti.com/blog/2009/10/tabsonrails-and-helperful-migrated-to-gemcutter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TabsOnRails 0.8.0</title>
		<link>http://www.simonecarletti.com/blog/2009/06/tabsonrails-0-8-0/</link>
		<comments>http://www.simonecarletti.com/blog/2009/06/tabsonrails-0-8-0/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 21:37:32 +0000</pubDate>
		<dc:creator>Simone Carletti</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[tabs]]></category>
		<category><![CDATA[tabs on rails]]></category>

		<guid isPermaLink="false">http://www.simonecarletti.com/blog/?p=410</guid>
		<description><![CDATA[Available TabsOnRails 0.8.0, the Rails plugin for creating and managing Tabs in Rails projects. ]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.simonecarletti.com/code/tabs_on_rails"><strong>TabsOnRails</strong></a> is a simple Rails plugin for <strong>creating and managing Tabs in Rails projects</strong>. It provides helpers for creating tabs, and virtually any type of navigation menu, with a flexible interface.</p>
<p>The release 0.8.0 is now available. This is the first beta release, even though this plugin has been publically available for quite a while. It is now part of the standard set for the most part of my Rails projects and it turned up to be really helpful.<span id="more-410"></span></p>
<p><strong>TabsOnRails</strong> 0.8.0 doesn&#8217;t provide additional features but mainly bugfix. The <code>current_tab</code> method is now available as instance method so you can call it in your actions (<a href="http://code.simonecarletti.com/issues/show/229">#229</a>). Also, all instance methods are now declared as protected so that they no longer appears to be confused by Rails as standard actions (<a href="http://code.simonecarletti.com/issues/show/228">#228</a>).</p>
<p>To install/update:</p>
<div class="codecolorer-container text default code-bash" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ sudo gem install weppos-tabs_on_rails</div></td></tr></tbody></table></div>
<p>Related posts<ol>
<li><a href='http://www.simonecarletti.com/blog/2009/05/tabsonrails-030-with-concurrent-tabs-support-aka-namespaces/' rel='bookmark' title='TabsOnRails 0.3.0 with concurrent tabs support aka namespaces'>TabsOnRails 0.3.0 with concurrent tabs support aka namespaces</a></li>
<li><a href='http://www.simonecarletti.com/blog/2009/04/tabsonrails/' rel='bookmark' title='TabsOnRails: creating and managing Tabs with Ruby on Rails'>TabsOnRails: creating and managing Tabs with Ruby on Rails</a></li>
<li><a href='http://www.simonecarletti.com/blog/2009/10/tabsonrails-graduated-from-beta/' rel='bookmark' title='TabsOnRails graduated from beta'>TabsOnRails graduated from beta</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.simonecarletti.com/blog/2009/06/tabsonrails-0-8-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TabsOnRails 0.3.0 with concurrent tabs support aka namespaces</title>
		<link>http://www.simonecarletti.com/blog/2009/05/tabsonrails-030-with-concurrent-tabs-support-aka-namespaces/</link>
		<comments>http://www.simonecarletti.com/blog/2009/05/tabsonrails-030-with-concurrent-tabs-support-aka-namespaces/#comments</comments>
		<pubDate>Sat, 02 May 2009 12:35:31 +0000</pubDate>
		<dc:creator>Simone Carletti</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[tabs]]></category>
		<category><![CDATA[tabs on rails]]></category>

		<guid isPermaLink="false">http://www.simonecarletti.com/blog/?p=323</guid>
		<description><![CDATA[TabsOnRails is a simple Rails plugin for creating and managing Tabs. The release 0.3.0 is now available as a GEM, with multi-tabs support.]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://www.simonecarletti.com/code/tabs_on_rails">TabsOnRails</a></strong> is a simple Rails plugin for <strong>creating and managing Tabs in Rails projects</strong>. It provides helpers for creating tabs with a flexible interface.</p>
<p>The release 0.3.0 is now available as a GEM. The most important feature is the concurrent tabs support, also known as multi-tabs or namespaces. Namespaces enable you to create and manage tabs in parallels. Let me show you an example.<span id="more-323"></span></p>
<p>Let&#8217;s assume your application provides a first level navigation menu with 3 elements: <code>:home</code>, <code>:dashboard</code>, <code>:projects</code>. The relationship between your tabs and your controllers is 1:1 so you should end up with the following source code.</p>
<div class="codecolorer-container text default code-ruby" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">class HomeController<br />
&nbsp; set_tab :home<br />
end<br />
<br />
class DashboardController<br />
&nbsp; set_tab :dashboard<br />
end<br />
<br />
class ProjectsController<br />
&nbsp; set_tab :projects<br />
<br />
&nbsp; def first; end<br />
&nbsp; def second; end<br />
&nbsp; def third; end<br />
end</div></td></tr></tbody></table></div>
<p>The project controller contains 3 actions and you might want to create a second-level navigation menu. This menu should reflect the navigation status of the user in the project page.</p>
<p>Without namespaces, you wouldn&#8217;t be able to accomplish this task because you already set the current tab value to <code>:projects</code>. You need to create a concurrent navigation menu and uniquely identify it with a custom namespace.<br />
Let&#8217;s call it <code>:navigation</code>.</p>
<div class="codecolorer-container text default code-ruby" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">class ProjectsController<br />
&nbsp; set_tab :projects<br />
<br />
&nbsp; # Create an other tab navigation level<br />
&nbsp; set_tab :first, :navigation, :only =&gt; %w(first)<br />
&nbsp; set_tab :second, :navigation, :only =&gt; %w(second)<br />
&nbsp; set_tab :third, :navigation, :only =&gt; %w(third)<br />
<br />
&nbsp; def first; end<br />
&nbsp; def second; end<br />
&nbsp; def third; end<br />
end</div></td></tr></tbody></table></div>
<p>Voilà! That&#8217;s all you need to do. And you can create an unlimited number of namespace as long as you use an unique name to identify them.</p>
<p>The default namespace is called :default. Passing :default as name is the same as don&#8217;t using any namespace at all. The following lines are equivalent.</p>
<div class="codecolorer-container text default code-ruby" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">set_tab :projects<br />
set_tab :projects, :default</div></td></tr></tbody></table></div>
<p>Namespaces supports all the other features already available in <strong>TabsOnRails</strong> including custom Builders for your Rails tabs. See the <a href="http://www.simonecarletti.com/code/tabs_on_rails/docs.html">documentation page</a> for further information.</p>
<p>You can install/upgrade <strong>TabsOnRails</strong> by running</p>
<div class="codecolorer-container text default code-ruby" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ sudo gem install weppos-tabs_on_rails --source http://gems.github.com</div></td></tr></tbody></table></div>
<p>Related posts<ol>
<li><a href='http://www.simonecarletti.com/blog/2009/04/tabsonrails/' rel='bookmark' title='TabsOnRails: creating and managing Tabs with Ruby on Rails'>TabsOnRails: creating and managing Tabs with Ruby on Rails</a></li>
<li><a href='http://www.simonecarletti.com/blog/2009/10/tabsonrails-graduated-from-beta/' rel='bookmark' title='TabsOnRails graduated from beta'>TabsOnRails graduated from beta</a></li>
<li><a href='http://www.simonecarletti.com/blog/2009/06/tabsonrails-0-8-0/' rel='bookmark' title='TabsOnRails 0.8.0'>TabsOnRails 0.8.0</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.simonecarletti.com/blog/2009/05/tabsonrails-030-with-concurrent-tabs-support-aka-namespaces/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>TabsOnRails: creating and managing Tabs with Ruby on Rails</title>
		<link>http://www.simonecarletti.com/blog/2009/04/tabsonrails/</link>
		<comments>http://www.simonecarletti.com/blog/2009/04/tabsonrails/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 14:42:48 +0000</pubDate>
		<dc:creator>Simone Carletti</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[tabs]]></category>
		<category><![CDATA[tabs on rails]]></category>

		<guid isPermaLink="false">http://www.simonecarletti.com/blog/?p=297</guid>
		<description><![CDATA[TabsOnRails is a simple Rails plugin for creating and managing Tabs. It provides helpers for creating tabs with a flexible interface.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.simonecarletti.com/code/tabs_on_rails"><em>TabsOnRails</em></a> is a simple Rails plugin for <strong>creating and managing Tabs</strong>. It provides helpers for creating tabs with a flexible interface.</p>
<p>If you ever had to create a tab-based navigation menu at least once, you perfectly know how much it can annoying. You have to create the menu, set active status in your controllers and reflect selection status in your view. <em>TabsOnRails</em> does all the boring stuff for you and let you focus on the customization.</p>
<p>Let me show you how it works.<span id="more-297"></span></p>
<h2>Quick Start</h2>
<p>In your template use the <code>tabs_tag</code> helper to create your tab.</p>
<div class="codecolorer-container ruby default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#006600; font-weight:bold;">&lt;%</span>= tabs_tag <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>tab<span style="color:#006600; font-weight:bold;">|</span> <span style="color:#006600; font-weight:bold;">%&gt;</span><br />
&nbsp; <span style="color:#006600; font-weight:bold;">&lt;%</span>= tab.<span style="color:#9900CC;">home</span> &nbsp; &nbsp; &nbsp; <span style="color:#996600;">'Homepage'</span>, root_path <span style="color:#006600; font-weight:bold;">%&gt;</span><br />
&nbsp; <span style="color:#006600; font-weight:bold;">&lt;%</span>= tab.<span style="color:#9900CC;">dashboard</span> &nbsp;<span style="color:#996600;">'Dashboard'</span>, dashboard_path <span style="color:#006600; font-weight:bold;">%&gt;</span><br />
&nbsp; <span style="color:#006600; font-weight:bold;">&lt;%</span>= tab.<span style="color:#9900CC;">account</span> &nbsp; &nbsp;<span style="color:#996600;">'Account'</span>, account_path <span style="color:#006600; font-weight:bold;">%&gt;</span><br />
<span style="color:#006600; font-weight:bold;">&lt;%</span> <span style="color:#9966CC; font-weight:bold;">end</span> <span style="color:#006600; font-weight:bold;">%&gt;</span></div></td></tr></tbody></table></div>
<p>The example above produces the following HTML output.</p>
<div class="codecolorer-container html4strict default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/ul.html"><span style="color: #000000; font-weight: bold;">ul</span></a>&gt;</span><br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/&quot;</span>&gt;</span>Homepage<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;</span><br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/dashboard&quot;</span>&gt;</span>Dashboard<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;</span><br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/account&quot;</span>&gt;</span>Account<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/ul.html"><span style="color: #000000; font-weight: bold;">ul</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>The usage is similar to the Rails <code>route.rb</code> file. You create named tabs with the syntax <code>tab.name_of_tab</code>. The name you use creating a tab is the same you&#8217;re going to refer to in your controller when you want to flag the tab as active with <code>current_tab</code>.</p>
<div class="codecolorer-container ruby default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">class</span> DashboardController <span style="color:#006600; font-weight:bold;">&lt;</span> ApplicationController<br />
&nbsp; current_tab <span style="color:#ff3333; font-weight:bold;">:dashboard</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span></div></td></tr></tbody></table></div>
<p>Now, for any action defined in the <code>DashboardController</code>, the template will automatically render the following HTML code.</p>
<div class="codecolorer-container html4strict default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/ul.html"><span style="color: #000000; font-weight: bold;">ul</span></a>&gt;</span><br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/&quot;</span>&gt;</span>Homepage<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;</span><br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;&lt;<a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a>&gt;</span>Dashboard<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;</span><br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/account&quot;</span>&gt;</span>Account<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/ul.html"><span style="color: #000000; font-weight: bold;">ul</span></a>&gt;</span></div></td></tr></tbody></table></div>
<h2>Restricting current_tab scope</h2>
<p>Off course, there are specific situations where you need to change current_tag only for some specific action in your controller.</p>
<p>The <code>current_tab</code> method understands all options you are used to pass to a Rails controller filter. In fact, behind the scenes this method uses a <code>before_filter</code> to set a special <code>@current_tab</code> variable. Taking advantage of Rails filter options, you can restrict a tab to a selected group of actions in the same controller.</p>
<div class="codecolorer-container ruby default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br /></div></td><td><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">class</span> PostsController <span style="color:#006600; font-weight:bold;">&lt;</span> ApplicationController<br />
&nbsp; current_tab <span style="color:#ff3333; font-weight:bold;">:admin</span><br />
&nbsp; current_tab <span style="color:#ff3333; font-weight:bold;">:posts</span>, <span style="color:#ff3333; font-weight:bold;">:only</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#91;</span> <span style="color:#ff3333; font-weight:bold;">:index</span>, <span style="color:#ff3333; font-weight:bold;">:show</span> <span style="color:#006600; font-weight:bold;">&#93;</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span><br />
<br />
<span style="color:#9966CC; font-weight:bold;">class</span> ApplicationController <span style="color:#006600; font-weight:bold;">&lt;</span> <span style="color:#6666ff; font-weight:bold;">ActionController::Base</span><br />
&nbsp; current_tab <span style="color:#ff3333; font-weight:bold;">:admin</span>, :<span style="color:#9966CC; font-weight:bold;">if</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#ff3333; font-weight:bold;">:admin_controller</span>?<br />
<br />
&nbsp; <span style="color:#9966CC; font-weight:bold;">def</span> admin_controller?<br />
&nbsp; &nbsp; <span style="color:#0000FF; font-weight:bold;">self</span>.<span style="color:#9966CC; font-weight:bold;">class</span>.<span style="color:#9900CC;">name</span> =~ <span style="color:#006600; font-weight:bold;">/</span>^Admin<span style="color:#006600; font-weight:bold;">&#40;</span>::<span style="color:#006600; font-weight:bold;">|</span>Controller<span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">/</span><br />
&nbsp; <span style="color:#9966CC; font-weight:bold;">end</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span></div></td></tr></tbody></table></div>
<h2>Customizations</h2>
<p>All your tabs belongs to you! Easily to understand, your tab structure might be slightly different that the default one. For example, you might want to flag the active tab with a <code>current</code> CSS class and preserve the link with a nice hover effect. Or perhaps your tab is an ordered list (&lt;ol&gt;).</p>
<p>No problem! The library is completely customizable using custom builders. See the documentation for further details on <a href="http://www.simonecarletti.com/code/tabs_on_rails/docs/">how to create and use a custom Tab Builder</a>.</p>
<p>Here&#8217;s just a couple of examples created using custom builders.</p>
<p><img class="aligncenter size-medium wp-image-303" title="tab-example11" src="http://www.simonecarletti.com/blog/wp-content/uploads/2009/04/tab-example11-400x118.png" alt="tab-example11" width="400" height="118" /></p>
<h2><img class="aligncenter size-medium wp-image-302" title="tab-example2" src="http://www.simonecarletti.com/blog/wp-content/uploads/2009/04/tab-example2-400x215.png" alt="tab-example2" width="400" height="215" /></h2>
<h2>Cool! How do I get the plugin?</h2>
<p>Source code and issue management is <a href="http://github.com/weppos/tabs_on_rails/">powered by GitHub</a>, the project homepage and documentation are hosted on <a href="http://www.simonecarletti.com/code/tabs_on_rails">this site</a>. The plugin is available both as a GEM and as a Rails plugin. See the <a href="http://www.simonecarletti.com/code/tabs_on_rails/docs/">documentation page</a> to learn how to install it.</p>
<p>Related posts<ol>
<li><a href='http://www.simonecarletti.com/blog/2009/05/tabsonrails-030-with-concurrent-tabs-support-aka-namespaces/' rel='bookmark' title='TabsOnRails 0.3.0 with concurrent tabs support aka namespaces'>TabsOnRails 0.3.0 with concurrent tabs support aka namespaces</a></li>
<li><a href='http://www.simonecarletti.com/blog/2009/10/tabsonrails-graduated-from-beta/' rel='bookmark' title='TabsOnRails graduated from beta'>TabsOnRails graduated from beta</a></li>
<li><a href='http://www.simonecarletti.com/blog/2009/06/tabsonrails-0-8-0/' rel='bookmark' title='TabsOnRails 0.8.0'>TabsOnRails 0.8.0</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.simonecarletti.com/blog/2009/04/tabsonrails/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
	</channel>
</rss>

