2012-09-12 19 views
10

के लिए कई सक्रिय व्यवस्थापक उदाहरणों का उपयोग कैसे करें मैं 2 मॉडल:पूरा अलग-अलग मॉडल

  • उपयोगकर्ता
  • आपूर्तिकर्ता

और मैं 2 अलग-थलग सक्रिय व्यवस्थापक इंटरफेस प्रदान करना चाहते हैं।

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 कक्षाएं प्रारंभ और उन्हें समानांतर में चलाने के लिए कोई तरीका है?

इसे एक ही वेबसाइट/ऐप के तहत काम करने के लिए कोई और बेहतर तरीका है?

+0

मैं 2 अलग Apps में समस्या को अलग करने से बचने की कोशिश जो एक ही डीबी साझा करता है अगर यह – stonehz

+0

उपयोगकर्ता और आपूर्तिकर्ता दोनों के लिए अलग लॉगिन बनाने में मदद करता है। – Vijay

उत्तर

14

आप इसके लिए नामस्थान का उपयोग कर सकते हैं।

 
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