"主动" Rails 4中belongs_to模型的导航课程

时间:2015-07-08 19:02:12

标签: jquery css ruby-on-rails

我目前通过获取模型中的所有对象来生成标题导航:

_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>

1 个答案:

答案 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) %>">