ActiveAdmin ile Kimlik Doğrulama için bir Rails yaşıyorum. AdminUser ve Kullanıcı modellerine sahibim, bu yüzden Kullanıcı modelinin yönetici hakkında düşünmesi gerekmiyor. Ancak, Yönetici sayfasını veya Yönetici sayfasını İÇERMEYEN Kullanıcıyı oluşturamıyorum/düzenleyemiyorum. Ben bunu yaparken deneyin her zaman, içeride Kullanıcı modeli ve AdminUser modelleri, çünkü garipActiveAdmin: Korumalı öznitelikler atayamazsınız: e-posta, parola, password_confirmation
Can't mass-assign protected attributes: email, password, password_confirmation
, zaten var mesaj bana verecek:
attr_accessible :email, :password, :password_confirmation
diğer yolu denemek için ben raylar gitti konsol ve AdminUser oluşturmayı deneyin ve tüm çalıştı: Yönetici web sayfasından sadece yaratma anlamına gelir
AdminUser.create(:email => '[email protected]',
:password => 'password', :password_confirmation => 'password')
başarısız oldu.
Kimlik Doğrulama için Devise kullanıyorum. Hata, hem User hem de AdminUser modellerinde oluşur.
Parola ve password_confirmation için, Veritabanında bu alanlara sahip değilim, ancak Devise varsayılan yoldur, Veritabanı'nda asla parolamız yoktur. Ben
attr_accessible :email, :password, :password_confirmation, :remember_me, :provider, :uid, :as => [:default, :admin]
için
attr_accessible :email, :password, :password_confirmation, :remember_me, :provider, :uid
değiştirip çalıştığını
devise :database_authenticatable, :registerable, :rememberable, :recoverable, :trackable, :omniauthable, :omniauth_providers => [:facebook]
##, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me, :provider, :uid
# attr_accessible :title, :body
validates :email, :password, :first_name, :last_name,
presence: true
validates :email, uniqueness: true
has_many :devices
has_many :posts
belki de ": as =>: admin_user" ifadesini attr_accessible öğesine eklemelisiniz. Ben active_admin gem için exaclty bilmiyorum, ama örneğin bu gem https://github.com/fesplugas/typus kullanıyorsanız, şu anki kullanıcının rolünü belirtmeniz gerekir: as =>: admin_user – Mattherick
Bence bu soru şu şekilde anlamanıza yardımcı olacaktır: as => "rolünüz" daha iyi ..http: //stackoverflow.com/questions/6877853/rails-how-to-declare-attr-accessible-for-mutliple- roles-without-duplication – Mattherick
Yönetici oluşturma formunuz nasıl görünüyor? Yardımcı olabilecek sunucu günlüklerini listelerseniz. –