我有一个模型category
,其中包含一个名为category.parent_id
的字段,用于创建分类法(带有子类别的顶级类别)。
目前我的索引页面显示的类别为:
Top level category
Sub category
Sub category
Top category
我如何以正确的分类法对它们进行排序(即首先从数据库中获取所有顶级类别,然后从子类别等中获取)并显示如下:
Top level category
-- Sub category
-- Sub category
Top category
最佳答案
经过几个小时的头撞墙后,我想出了这个解决方案:
ActiveAdmin 无法不呈现整个索引的部分内容,但是您可以为单列呈现一个索引!
因此,解决方法是为子类别创建一个列,如下所示:
column "Sub Categories" do |category|
children = Category.children(category.id)
if children.present?
render :partial => "children", :locals => { :children => children }
end
end
然后在 _children.html.erb
View 部分中,您可以像这样打印出列表:
<% children.each do |child| %>
<p><%= link_to child.name, edit_admin_category_path(child) %></p>
<% end %>
关于ruby-on-rails - ActiveAdmin -- 如何显示类别分类? (在树类型层次结构中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8104760/