2012-09-12 9 views
10

Ho 2 modelli:Come usare più istanze Admin attivi per i modelli separata completa

  • Utenti
  • Fornitori

e voglio fornire 2 isolati interfacce Admin attivi. Entrambi hanno ideare itinerari:

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

utente avrà accesso a prodotti, Ordini e fornitore avrà accesso ai soli prodotti.

Idealmente, voglio avere diverse cartelle nell'app e presentare dati diversi.

utente/order.rb

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

fornitore/order.rb

ActiveAdmin.register Order do 
    filter :email 

Esiste un modo per inizializzare 2 Classi ActiveAdmin ed eseguirli in parallelo?

Qualsiasi altro modo migliore per farlo funzionare con lo stesso sito Web/app?

+0

Cerco di evitare di separare il problema in 2 applicazioni differenti che condividono lo stesso DB se questo aiuta – stonehz

+0

Come creare un accesso separato per utente e fornitore. – Vijay

risposta

14

È possibile utilizzare gli spazi dei nomi per questo.

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

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

È possibile personalizzare l'autenticazione per ogni spazio dei nomi in config/initializers/active_admin.rb

Ad esempio:

 
    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 

Maggiori informazioni su: http://activeadmin.info/docs/1-general-configuration.html#namespaces