Ruby on rails ActiveAdmin嵌套资源索引视图

Ruby on rails ActiveAdmin嵌套资源索引视图,ruby-on-rails,activeadmin,nested-resources,Ruby On Rails,Activeadmin,Nested Resources,我在菜单下嵌套了菜单项,使用了一个 如果我不声明索引块(active admin自动计算),但如果我声明自己的块,它会显示所有菜单的所有菜单项,这将非常有用 如何让我的块尊重嵌套资源 更新-我认为这与activeadmin核心有关,而不是与activeadmin核心有关 所以我想问题变成了: 是否可以将可排序树与嵌套资源一起使用 ActiveAdmin.register MenuItem do config.filters = false config.paginate = fa

我在菜单下嵌套了菜单项,使用了一个

如果我不声明索引块(active admin自动计算),但如果我声明自己的块,它会显示所有菜单的所有菜单项,这将非常有用

如何让我的块尊重嵌套资源


更新-我认为这与activeadmin核心有关,而不是与activeadmin核心有关

所以我想问题变成了: 是否可以将可排序树与嵌套资源一起使用

ActiveAdmin.register MenuItem do
    config.filters = false
    config.paginate = false
    belongs_to :menu
    sortable tree: true
    permit_params :title, :url, :menu_id

    index as: :sortable do
        label "Title" do |menu_item|
            link_to menu_item.title, edit_admin_menu_menu_item_path( menu_item.menu, menu_item )
        end
        actions defaults: false do |menu_item|
            link_to "Delete", admin_menu_menu_item_path( menu_item.menu, menu_item ), method: "delete", confirm: "Are you sure?"
        end
    end

    form do |f|
        f.inputs "Details" do
            f.input :title
            f.input :url
            f.input :menu_id, :as => :hidden
        end

        f.actions
    end

end

这个问题是由于ActiveAdmin可排序树在层次结构中查找根的方法造成的。默认情况下,无论嵌套情况如何,可排序树都会查找指定模型的所有根。可以通过向
:roots\u集合提供
过程
选项来定制此行为:

ActiveAdmin.register MenuItem do
  belongs_to :menu
  sortable tree: true,
          # Only display the parent menu's roots
          roots_collection: proc { parent.menu_items.roots }
end


答案摘自我在上的帖子。

Ruby,你在使用Rails吗?如果是的话,请添加这个标签。更新-我认为这与activeadmin可排序树gem有关,而不是activeadmin核心,因为常规索引as::table块工作正常。