10

私は2つのモデルを持っています:

  • ユーザー
  • サプライヤー

2 つの独立した Active Admin インターフェイスを提供したいと考えています。どちらもデバイスルートを持っています:

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

ユーザーは製品にアクセスでき、注文とサプライヤーは製品のみにアクセスできます。

理想的には、アプリにさまざまなフォルダーを用意して、さまざまなデータを提示したいと考えています。

ユーザー/注文.rb

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

サプライヤー/注文.rb

ActiveAdmin.register Order do
  filter :email

2 つの ActiveAdmin クラスを初期化して並行して実行する方法はありますか?

同じウェブサイト/アプリで動作させるための他の良い方法はありますか?

4

1 に答える 1

20

これには名前空間を使用できます。

ActiveAdmin.register 注文、名前空間: :supplier do
  # /supplier/orders で入手できます
終わり

ActiveAdmin.register 順序、名前空間: :user do
  # /user/orders で利用可能
終わり

で各名前空間の認証をカスタマイズできます。config/initializers/active_admin.rb

例えば:

  config.default_namespace = :user

  config.namespace :supplier do |supplier|
    サプライヤー.authentication_method = :authenticate_supplier_user!
    サプライヤー.current_user_method = :current_supplier_user
    サプライヤー.logout_link_path = :destroy_supplier_user_session_path
    サプライヤー.root_to = '注文#index'
  終わり

  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

于 2012-09-12T16:03:40.540 に答える