ruby-on-rails - ActiveAdmin -- 如何显示类别分类? (在树类型层次结构中)

标签 ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 activeadmin

我有一个模型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/

相关文章:

ruby-on-rails - Ruby 的 ERB 格式 "officially"在哪里定义的?

ruby-on-rails - 使用 Rails Ajax 渲染不同的 .js 文件

ruby-on-rails - 像github一样的Rails路由

ruby-on-rails - 实现一个Facebook样式的消息传递系统,其中用户可以位于另一个模型的两个不同列中的任意一个中

ruby-on-rails - 为什么redirect_to在创建操作中不起作用?

ruby-on-rails - 工厂女孩的附属工厂

ruby-on-rails - Rails、Ruby 1.9.3p0 和 mysql gem

ruby-on-rails - Twitter如何根据登录与否获得两个不同的主页? - rails 3.1

ruby-on-rails - 如何在routes.rb中添加别名

ruby-on-rails - Gmaps4rails : Setting map width and height