2013-05-13 16 views
6

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 
+2

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

+0

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

+0

Yönetici oluşturma formunuz nasıl görünüyor? Yardımcı olabilecek sunucu günlüklerini listelerseniz. –

cevap

8

: Burada

Kullanıcı Modelidir.

İlgili konular