我在 Rails 中开发了一些运行良好的测试。然后我补充说:
- 在模型文件中:has_secure_password
- 在 Gem 文件中:gem 'bcrypt', '3.1.7' (捆绑安装后它显示在 Gemfile.lock 中)
- 我将 password_digest 作为字符串添加到迁移文件中(迁移后它确实显示在 schema.rb 中)
我在测试文件中添加了密码和密码确认设置:
def setup
@user = User.new(email: "user@example.com",
username: "example user",
firstname: "Allan",
location: "Europe",
password: "foobar",
password_confirmation: "foobar")
end
现在,当我运行时,rake test
我收到错误消息:
NoMethodError: undefined method 'password_digest=' for #<User:0x00000002f9c020> test/models/user_test.rb:6:in 'setup'.
第 6 行指的是 @user = User.new ...
所以它似乎已经正确地实现了 gem 和附加列,但是我收到了这个错误消息。有谁知道可能是什么原因?