我目前通过获取模型中的所有对象来生成标题导航:
_header.html.erb :
<% @productlines.each do |productline| %>
<li class="<%= productline.slug %>"><%= link_to(productline) do %><%= productline.name %><% end %></li>
<% end %>
这在DOM中呈现的是:
<ul>
<li class="pole"><a href="/productlines/pole">pole</a></li>
<li class="stew"><a href="/productlines/stew">Stew</a></li>
</ul>
我的问题是:在CSS中,我如何应用&#34;活跃&#34;在<li>
上课,所以它呈现为<li class="fish active"> ... </li>
答案 0 :(得分:1)
试试这个:
<% @productlines.each do |productline| %>
<li class="<%= productline.slug %> <%= 'active' if productline.slug == 'fish' %>">
<%= link_to(productline.name, productline) %>
</li>
<% end %>
如果您想添加“有效”状态,只需更改条件即可。以不同的方式上课。
我假设您想在用户当前在此页面上时添加活动类 - 我为此编写了一个帮助方法(ApplicationHelper):
def active?(id)
return '' unless params[:id] # check for nil
params[:id].include?(id) ? 'active' : ''
end
然后在你的视图中使用它:
<li class="<%= productline.slug %> <%= active?(productline.slug) %>">