active
渲染时传入一个本地:
render :partial => 'navbox', :locals => { :active => 'Account' }
然后把它作为你的部分:
<div class="navbox">
<ul class="nav">
<a href="#"<% if active == 'Account' %> class="active"<% end %>> Account</li></a>
<a href="#"<% if active == 'Profile' %> class="active"<% end %>><li> Profile</li></a>
<a href="#"<% if active == 'Photos' %> class="active"<% end %>><li> Photos</li></a>
<a href="#"<% if active == 'Security' %> class="active"<% end %>><li> Security</li></a>
</ul>
</div>
有多种清理方法(link_to
、辅助方法等),这留作练习。如果您可以从请求 URL 中推断出某些内容是否“活跃”,那么您还可以潜在地避免需要传入本地数据。
如果您根本不想链接而不是向链接添加类,请查看& link_to_unless_current
。link_to_unless