首页 > 解决方案 > users_signup_test.rb 在断言 users.reload.activated 时失败。期望假为真。Railstutorial Hartl

问题描述

我遵循 micheal hartl 的书 railstutorial。在第 11 章,我的测试在 users_signup_test.rb 中失败。在我的 account_activations_contrller.rb 文件中,操作编辑 user.authenticated?(:activation, params[:id]) 始终为 false

标签: ruby-on-rails-5

解决方案


我有同样的问题,我忘记重构已验证的?正确的方法

我有:

def authenticated?(attribute, token)
  digest = send("#{attribute}_digest")
  return false if remember_digest.nil?

  BCrypt::Password.new(digest).is_password?(token)
end

注意remember_digest.nil?

它应该是:

def authenticated?(attribute, token)
  digest = send("#{attribute}_digest")
  debugger
  return false if digest.nil?

  BCrypt::Password.new(digest).is_password?(token)
end

希望这可以帮助


推荐阅读