用户有_many 事务。我有活动管理员当前设置为使用 admin/transactions.rb 中的 belongs_to :user 将事务嵌套在基本 CRUD 的用户下。但是,我还需要一个顶级的交易视图,显示跨用户的交易记录子集。我怎样才能完成第二部分?
问问题
2191 次
2 回答
19
我认为现在最好的方法是传入“可选”选项:
ActiveAdmin.register Transactions do
belongs_to :user, :optional => true
...
end
这样,您将可以从主导航菜单以及特定用户下的嵌套视图中访问所有事务。
如果想了解更多,可以参考下面的源码:
https://github.com/gregbell/active_admin/blob/0.4.x-stable/lib/active_admin/resource.rb
131 号线
def include_in_menu?
super && !(belongs_to? && !belongs_to_config.optional?)
end
于 2013-04-11T22:48:26.753 回答
7
您需要创建两个 Active Admin 资源,它们都引用需要嵌套和非嵌套路由的同一个 Active Record 模型。
父资源:
ActiveAdmin.register ParentClass do
end
嵌套资源:
ActiveAdmin.register ChildClass do
belongs_to :parent_class
end
未嵌套的资源:
ActiveAdmin.register ChildClass, :as => "All Children" do
end
您现在可以通过“所有子项”选项卡直接访问 ChildClass,而不会出现 ParentClass 丢失的错误,同时仍然可以享受从 ParentClass 对 ChildClass 的嵌套访问。
于 2012-10-11T22:20:34.983 回答