gpt4 book ai didi

ruby-on-rails - RSpec 测试失败,返回 'unknown attribute'

转载 作者:数据小太阳 更新时间:2023-10-29 08:33:22 24 4
gpt4 key购买 nike

我正在测试模型中的属性响应:

it { should respond_to(:password) }
it { should respond_to(:password_confirmation) }

这些属性不是数据库的一部分,只是在我的模型中声明为 attr_accessible。当我不声明它们并运行我的测试时,我得到:

ActiveModel::MassAssignmentSecurity::Error:
Can't mass-assign protected attributes: password, password_confirmation

但是在我声明它们之后我得到:

ActiveRecord::UnknownAttributeError:
unknown attribute: password

知道为什么会这样吗?

最佳答案

@8vius,因为您正在按照教程进行操作,但还不够仔细。您需要添加以下行:

has_secure_password

下面 attr_accessible :email, :name, :role, :password, :password_confirmation

这允许您将纯文本密码和 password_confirmation 保存到内存中,以便您可以在加密和保存到数据库之前比较字符串并强制相等。您不想在数据库中以纯文本形式保留密码。

关于ruby-on-rails - RSpec 测试失败,返回 'unknown attribute',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12025159/

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