繁体   English   中英

如何使用多个Active Admin实例来完成单独的模型

[英]How to use multiple Active Admin instances for Complete Separate Models

我有2个型号:

  • 用户
  • 供应商

我想提供2个独立的Active Admin界面。 他们都有设计路线:

devise_for :users, ActiveAdmin::Devise.config
devise_for :suppliers,   ActiveAdmin::Devise.config (can I somehow say ActiveAdmin2::Devise.config)

用户可以访问产品,订单和供应商只能访问产品。

理想情况下,我想在应用程序中使用不同的文件夹并显示不同的数据。

用户/ order.rb

ActiveAdmin.register Order do
  filter :email
  filter :created_at  , :label => "Order Creation Date"
  filter :order_created

供应商/ order.rb

ActiveAdmin.register Order do
  filter :email

有没有办法初始化2个ActiveAdmin类并并行运行它们?

还有其他更好的方法让它在同一个网站/应用程序下工作吗?

您可以使用名称空间。

ActiveAdmin.register Order, namespace: :supplier do
  # will be available at /supplier/orders
end

ActiveAdmin.register Order, namespace: :user do
  # available at /user/orders
end

您可以在config/initializers/active_admin.rb为每个命名空间自定义身份验证

例如:

config.default_namespace = :user

  config.namespace :supplier do |supplier|
    supplier.authentication_method = :authenticate_supplier_user!
    supplier.current_user_method = :current_supplier_user
    supplier.logout_link_path = :destroy_supplier_user_session_path
    supplier.root_to = 'orders#index'
  end

  config.namespace :user do |user|
    user.authentication_method = false
    user.current_user_method = :current_user
    user.logout_link_path = false

有关更多信息: http//activeadmin.info/docs/1-general-configuration.html#namespaces

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM