设计valid_password的奇怪问题?

Vir*_*ren 78 ruby-on-rails devise ruby-on-rails-3.2

在过去的两个小时里,我一直在尝试调试设计中的一个奇怪的问题,这不是让我登录.

这也是我所指的东西:

password 
=> 'vinodsobale'

password == 'vinodsobale'
=> true

resource.valid_password?(password)

=> false

resource.valid_password?('vinodsobale')

=> true
Run Code Online (Sandbox Code Playgroud)

附上截图:

在此输入图像描述 注意:我在设计中启用了调试器,因此上面的代码是设计内部代码.

对我来说,它看起来像是一个问题Devise.secure_compare.

Сер*_*вич 0

怎么样

resource.valid_password?(password.to_s)
Run Code Online (Sandbox Code Playgroud)

我希望它能帮助你。

  • 请编辑您的帖子并解释为什么这会起作用。 (3认同)
  • 您使用了`密码=='vinosobale'`。您可以尝试“password === 'vidodsobale'”匹配吗?你能读一下这个问题 - http://stackoverflow.com/questions/7156955/whats-the-difference- Between-equal-eql-and 吗? (2认同)