인증을위한 Devise가있는 ActiveAdmin이있는 레일스가 있습니다. AdminUser 및 User 모델을 사용하므로 User 모델은 관리자를 신경 쓸 필요가 없습니다. 그러나 Adminuser 또는 Admin 페이지에서 User를 생성하거나 편집 할 수 없습니다. 내가 그렇게하려고 할 때마다, 그것은 내부 사용자 모델과 관리 사용자 모델 때문에 이상해ActiveAdmin : 보호 속성을 대량 할당 할 수 없습니다 : 이메일, 비밀번호, password_confirmation
Can't mass-assign protected attributes: email, password, password_confirmation
, 나는 이미 메시지를 나에게 줄 것이다 :
attr_accessible :email, :password, :password_confirmation
이 그것을 다른 방법을 시도하기 위해, 나는 레일에 갔다 콘솔을 만들고 AdminUser를 만들면 모두 작동합니다.
즉, 관리 웹 페이지에서만 생성이 실패했음을 의미합니다.
나는 Devise for Authentication을 사용하고 있습니다. 이 오류는 User 및 AdminUser 모델 모두에서 발생합니다.
암호 및 password_confirmation의 경우 데이터베이스에 해당 필드가 없지만 Devise는 기본적으로 데이터베이스에 암호가 없습니다. 내가
attr_accessible :email, :password, :password_confirmation, :remember_me, :provider, :uid, :as => [:default, :admin]
에
attr_accessible :email, :password, :password_confirmation, :remember_me, :provider, :uid
을 변경하고 작동
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
attr_accessible에 ": as => : admin_user"를 추가해야 할 수도 있습니다. active_admin 젬에 대해서는 잘 모르겠지만, 예를 들어이 보석을 사용한다면 https://github.com/fesplugas/typus와 함께 현재 사용자의 역할을 지정해야합니다 : as => : admin_user – Mattherick
나는이 질문이 당신을 이해하는 데 도움이 될 것이라고 생각합니다 : as => "your-role"better..http : //stackoverflow.com/questions/6877853/rails-how-to-declare-attr-accessible-for-mutliple- 중복없는 역할 – Mattherick
관리자 작성 양식은 어떻게 보이나요? 도움이 될 수있는 서버 로그를 나열하십시오. –