首页 > 解决方案 > 如何在 activeadmin 中声明深层嵌套资源?

问题描述

我在 ActiveAdmin 中有三个资源,即用户、订单和订单项。

User => has_many :orders

User => has_many :order_items, through: :orders

我希望 OrderItems 嵌套在 Users 中,这样我就可以拥有这些路由:

admin/users/:user_id/orders/:order_id/order_items
admin/users/:user_id/orders/:order_id/order_items/:id
admin/users/:user_id/orders/:order_id/order_items/:id/new
admin/users/:user_id/orders/:order_id/order_items/:id/edit

我尝试使用下面的代码,但它不起作用。

ActiveAdmin.register OrderItems do 

  belongs_to :order
  belongs_to :user
  controller do
    nested_belongs_to  :user, :order
    end
  end
end

如何使用 activeadmin 实现这一目标?

先感谢您

标签: ruby-on-railsrubyactiveadminrails-routingnested-routes

解决方案


将此添加到routes.rb文件中

 namespace :admin do
    resources :users do
      resources :orders do
         resources :order_items
      end
    end
  end

但是我认为嵌套到这个级别是不合适的


推荐阅读