認証用のDeviseを備えたActiveAdminを使用してRailsを使用しています。User モデルが管理者を気にする必要がないように、AdminUser および User モデルがあります。ただし、管理者ページ内から管理者ユーザーもユーザーも作成/編集できません。そうしようとするたびに、メッセージが表示されます
Can't mass-assign protected attributes: email, password, password_confirmation
User モデルと AdminUser モデルの内部には、次のものがあるため、これは奇妙です。
attr_accessible :email, :password, :password_confirmation
別の方法で試すために、Rails コンソールにアクセスして AdminUser を作成してみましたが、すべてうまくいきました。
AdminUser.create(:email => 'asdf@admin2.com',
:password => 'password', :password_confirmation => 'password')
これは、管理 Web ページからの作成のみが失敗したことを意味します。
認証にDeviseを使用しています。User モデルと AdminUser モデルの両方でエラーが発生します。
password と password_confirmation については、データベースにこれらのフィールドはありませんが、それが Devise のデフォルトの方法であり、データベースにパスワードがありません。
ユーザーモデルは次のとおりです。
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