У меня есть Rails с ActiveAdmin с Devise для аутентификации. У меня есть модели AdminUser и User, так что модель User не должна заботиться об администраторе. Однако я не могу создать/отредактировать ни Adminuser, ни User ИЗНУТРИ страницы Admin. Каждый раз, когда я пытаюсь это сделать, мне приходит сообщение
Can't mass-assign protected attributes: email, password, password_confirmation
Это странно, потому что внутри моделей User и AdminUser у меня уже есть:
attr_accessible :email, :password, :password_confirmation
Чтобы попробовать по-другому, я пошел в консоль rails и попытался создать AdminUser, и все это сработало:
AdminUser.create(:email => '[email protected]',
:password => 'password', :password_confirmation => 'password')
Это означает, что только создание с веб-страницы администратора не удалось.
Я использую 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