【问题标题】:Rails test fail with undefined method `password_digest=' after rollback from devise从设计回滚后,Rails 测试因未定义方法“password_digest=”而失败
【发布时间】: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


    【解决方案1】:

    发布此内容以防对其他人有帮助:

    成功了

    我删除了 Gemfile.lock 并运行 bundle install

    ?‍♀️我应该知道的

    【讨论】:

      猜你喜欢
      • 2018-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 2015-12-26
      • 2019-05-13
      • 1970-01-01
      相关资源
      最近更新 更多