यहाँ इस प्रक्रिया आप पहले से ही डिफ़ॉल्ट सेटिंग के साथ ActiveAdmin स्थापित किया है, तो है, और आप अपने मौजूदा मॉडल पर User.is_admin
क्षेत्र के साथ उपयोगकर्ताओं को प्रमाणित, और admin_user तालिका निकालना चाहते हैं:
रोलबैक admin_user माइग्रेशन (यदि आप का उपयोग नहीं किया --skip-users
जब सक्रिय व्यवस्थापक स्थापित करने):
rake db:migrate:down VERSION=20141205110842 # create_active_admin_comments.rb
rake db:migrate:down VERSION=20141205110831 # add_devise_to_admin_users.rb
rake db:migrate:down VERSION=20141205110820 # devise_create_admin_users.rb
तब उन 3 फ़ाइलों को हटा दें।
मार्ग में,, लाइन devise_for :admin_users, ActiveAdmin::Devise.config
application_controller.rb में हटाने जोड़ें: active_admin.rb में
def authenticate_admin!
if current_user && current_user.is_admin
# fine
else
redirect_to new_user_session_path
end
end
:
config.authentication_method = :authenticate_admin!
config.current_user_method = :current_user
config.logout_link_path = :destroy_user_session_path
config.allow_comments = false
config.logout_link_method = :get # couldn't get active_admin to sign out via :delete. So I configure devise to sign out via :get.
वसीयत कॉन्फ़िगर करने के लिए प्रस्थान करने के लिए :get
के माध्यम से, devise.rb में जोड़ें:
config.sign_out_via = :get
# And for every occurrence of destroy_user_session_path, remove the option method: delete.
is_admin बनाएं माइग्रेशन:
rails g migration add_is_admin_to_user is_admin:boolean
संपादित करें ताकि तरह माइग्रेशन:
class AddIsAdminToUser < ActiveRecord::Migration
def change
add_column :users, :is_admin, :boolean, default: false
end
end
और विस्थापित:
rake db:migrate
रेल 4 में हैं, में is_admin जोड़ने के लिए भूल नहीं है permit_params। एप्लिकेशन/व्यवस्थापक/user.rb में:
permit_params ....., :is_admin
एक कंसोल में, व्यवस्थापक उपयोगकर्ताओं के लिए अधिकार जोड़ें:
u = User.find(42); u.is_admin = true; u.save
जहां वास्तव में आप authenticate_admin रखूँ का आनंद लें! तरीका? मैंने एप्लिकेशन नियंत्रक की कोशिश की है लेकिन मुझे मिलता है: अपरिभाषित विधि 'authenticate_admin_user! ' # <व्यवस्थापक :: डैशबोर्ड नियंत्रक के लिए: 0x007fc3a23bce38> –
आप इसे कॉन्फ़िगर/प्रारंभकर्ता/active_admin.rb फ़ाइल में रखेंगे। – jackyalcine
या एप्लिकेशन नियंत्रक में। – domachine