【发布时间】:2019-06-04 22:54:44
【问题描述】:
我有一个 Rails 应用程序,带有一个用户模型和控制器,并且用户测试是绿色的,直到我创建了一个 git 分支,我在其中设置了用户身份验证的设计。我将该分支传递给其他人进行处理,然后在本地回滚数据库并切换回另一个分支。现在我的测试不再是绿色的。
错误是
NoMethodError: undefined method `password_digest=' for #<User:0x00007fe29d2fec48>
Did you mean? password=
test/models/user_test.rb:6:in `setup'
用户模型有has_secure_password,数据库在Users 表中也有password_digest 列。
有没有其他人在从设计回滚后遇到这个问题?这只是当地环境问题。我可以将代码推送到管道,并且测试在那里运行良好,没有执行任何设计设置。
我尝试过的事情:
- 删除数据库(开发和测试)并从头开始运行迁移
- 仔细检查 Gemfile 并运行 bundle install
- 从用户模型中移除 has_secure_password
【问题讨论】:
标签: ruby-on-rails devise ruby-on-rails-5