Eri*_* M. 7 ruby-on-rails activeadmin
用户has_many交易.我有活动管理员当前设置为使用belongs_to:user in admin/transactions.rb在用户下嵌套用于基本CRUD的事务.但是,我还需要一个顶级视图,用于显示跨用户的事务记录子集的事务.我怎样才能完成第二部分?
小智 19
我认为现在最好的方法是传递"可选"选项:
ActiveAdmin.register Transactions do
belongs_to :user, :optional => true
...
end
Run Code Online (Sandbox Code Playgroud)
这样,您将可以从主导航菜单以及特定用户下的嵌套视图访问所有事务.
如果您想了解更多信息,可以参考下面的源代码:
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
Run Code Online (Sandbox Code Playgroud)
小智 7
您需要创建两个Active Admin资源,这两个资源都引用需要嵌套和无效路由的相同Active Record Model.
父资源:
ActiveAdmin.register ParentClass do
end
Run Code Online (Sandbox Code Playgroud)
嵌套资源:
ActiveAdmin.register ChildClass do
belongs_to :parent_class
end
Run Code Online (Sandbox Code Playgroud)
未通过的资源:
ActiveAdmin.register ChildClass, :as => "All Children" do
end
Run Code Online (Sandbox Code Playgroud)
您现在可以通过"所有子项"选项卡直接访问ChildClass,而不会收到ParentClass丢失的错误,同时仍然可以从ParentClass中享受对ChildClass的嵌套访问.
| 归档时间: |
|
| 查看次数: |
2034 次 |
| 最近记录: |