gpt4 book ai didi

ruby-on-rails - ActiveAdmin:无法批量分配 protected 属性:电子邮件、密码、password_confirmation

转载 作者:行者123 更新时间:2023-12-04 14:29:48 25 4
gpt4 key购买 nike

我正在使用带有身份验证设计的 ActiveAdmin 的 Rails。我有 AdminUser 和 User 模型,因此 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')

这意味着只有从管理网页创建失败。

我正在使用 Devise 进行身份验证。 User 和 AdminUser 模型都会发生此错误。

对于密码和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

最佳答案

我改变

attr_accessible :email, :password, :password_confirmation, :remember_me, :provider, :uid


attr_accessible :email, :password, :password_confirmation, :remember_me, :provider, :uid, :as => [:default, :admin]

它有效。

关于ruby-on-rails - ActiveAdmin:无法批量分配 protected 属性:电子邮件、密码、password_confirmation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16515460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com