ruby-on-rails-5 - 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
解决方案
我有同样的问题,我忘记重构已验证的?正确的方法
我有:
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
希望这可以帮助
推荐阅读
- aws-lambda - 如何正确构建微服务架构
- sql-server - 来自 Windows Server 2012 的 ODBC Windows Server 2003
- python-3.x - 如何在 Google datalab 中打开存储在 GCP 中的图像?
- javascript - 如何在按键上获取当前值
- can-bus - Automatic Node ID assignment for LSS Slaves without LSS Master
- android - Appcompat 工具栏 showAsAction 无法正常工作
- python - Module loading behavior in virtualenv differs depending on caller
- reactjs - 在 xstate 中模拟一个调用的 Promise
- file - sys_file_metadata 表扩展但字段未显示
- android - 是否需要再次创建拦截器来更新标头?