के साथ लॉगिन मैं तीन उपयोगकर्ता प्रकार (उपयोगकर्ता, एजेंट, प्रशासन) प्रवेश के साथ की आवश्यकता होती है और अलग अलग चिंतन करना मॉड्यूल की आवश्यकता वाले एप्लिकेशन की है।एक से अधिक व्यवस्थापक प्रकार हैंडलिंग ActiveAdmin
User AgentAdmin AdminUser
confirmable Yes Yes No
lockable Yes Yes No
timeoutable No Yes Yes
Omniauthable Yes No No
database_authenticatable Yes Yes Yes
recoverable Yes Yes No
rememberable Yes Yes No
trackable Yes Yes Yes
validatable Yes Yes Yes
आगे इन उपयोगकर्ताओं के पास उनके प्रकार के आधार पर अतिरिक्त कॉलम हो सकते हैं। इसलिए, मैं उनके प्रकार के आधार पर अलग-अलग टेबल बनाना चाहता हूं।
मेरी आवश्यकताओं के आधार पर, मैं अलग नेमस्पेस (AdminUser
के लिए व्यवस्थापक, AgentAdmin
के लिए एजेंट) के साथ ActiveAdmin साथ AgentAdmin
और AdminUser
संभाल करने का निर्णय लिया। मैं नीचे के रूप में इन दोनों नामस्थान के लिए authentication_method
, current_user_method
और logout_link_path
कॉन्फ़िगर किया है।
devise_for :agent_admins, ActiveAdmin::Devise.config
devise_for :admin_users, ActiveAdmin::Devise.config
ActiveAdmin.routes(self)
यह केवल admin_users
के लिए प्रवेश पथ उत्पन्न करता है:
config.load_paths = [File.join(Rails.root,'app','admin'), File.join(Rails.root,'app','agent')]
config.namespace :admin do |admin|
admin.authentication_method = :authenticate_admin_user!
admin.current_user_method = :current_admin_user
admin.logout_link_path = :destroy_admin_user_session_path
end
config.namespace :agent do |agent|
agent.authentication_method = :authenticate_agent_admin!
agent.current_user_method = :current_agent_admin
agent.logout_link_path = :destroy_agent_admin_session_path
end
मैं अपने routes.rb
में निम्न कोड की है। अगर मैं active_admin.rb कॉन्फ़िग फ़ाइल में config.default_namespace = :agent
निर्धारित करते हैं, agent_admin
के लिए प्रवेश पथ उत्पन्न, लेकिन नहीं admin_users
है।
अन्य सभी ActiveAdmin रास्तों दोनों नामस्थान के लिए सामान्य रूप से उत्पन्न होता है।
मैं कैसे हल कर सकते हैं, दोनों login
रास्तों activedmin
द्वारा नियंत्रित उत्पन्न करने के लिए?