我有一个名为 Taxons 的类别列表:
Rails 代码在这里:
<div id="taxonomies" class="sidebar-item">
<% @taxonomies.each do |taxonomy| %>
<ul class="navigation-list">
<% taxonomy.root.children.each do |taxon| %>
<li<%= ' class="current"' if @taxon and ([@taxon] + @taxon.ancestors).include?(taxon) %>><%= link_to taxon.name, seo_url(taxon) %></li>
<% if @taxon.nil? %>
<% else %>
<% @taxon.children.each do |taxon|%>
<li><%= link_to taxon.name, seo_url(taxon) %></li>
<% end %>
<% end %>
<% end %>
</ul>
<% end %>
</div>
现在的问题是,如果我单击视图中的特定分类法,它会向我显示所有父级的子级。所以...
类别 1 后裔 1 后裔2 第2类 后裔 1 后裔2 第3类 后裔 1 Descendent 2
当我想要的是: 第 1 类 后裔 1 后裔2 第2类 类别 3
所选类别已附加 css 类 current。我的想法是某种 <% if :class => '当前%>显示 LI,否则什么也不显示。
有人知道这是否可能吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您不能重复使用相同的条件来添加类属性吗?
if @taxon and ([@taxon] + @taxon.ancestors).include?(taxon)
所以你会得到:
Couldn't you just reuse that same condition for adding the class attribute?
if @taxon and ([@taxon] + @taxon.ancestors).include?(taxon)
So you would have:
在控制器上添加即时变量。
喜欢
并改变这里
add instant variable on your controller.
like
and change here