1

我收到与这篇文章类似的错误Ruby on Rails Authlogic password not valid "Password is not valid" 似乎从未得到解决

如果我创建一个新用户,在脚本/控制台中:

myval = "foo@example.com"
u = User.create(:email => myval, :password => myval, :password_confirmation => myval)
u.valid? 
>> true
u.save
>> true
u.valid_password?(myval)
>>false

如果我在我的 user.rb 中设置:

acts_as_authentic  do |c|
   c.validate_password_field = false
end

我得到了同样的回应。有什么建议么?

4

4 回答 4

4

我刚刚浏览了 AuthLogic 代码,看起来设置validate_password_field为 false 只会阻止 Rails 运行默认验证。它对valid_password?方法没有影响。

似乎还有许多其他因素会导致它返回 false。这些包括但可能不限于:

  • 检查空密码
  • 加密密码为空
  • 密码不匹配。(这个有点复杂,因为这涉及到多种因素,包括 CryptoProvider 以及您是否使用 RestfulAuthentication 样式的密码。)

为了给出更明确的答案,我可能需要更多关于您的确切设置的信息。

于 2009-10-04T01:48:58.887 回答
2

我有一个类似的问题,原来旧的 Restful Authentication 密码字段在 Authlogic 需要 255 时以 40 个字符的长度迁移。

于 2009-12-23T11:36:22.710 回答
1

就我而言,这只是一个混乱的数据库迁移。rake db:migrate VERSION=0 && rake db:migrate为我解决了这个问题。

于 2010-11-06T09:25:18.160 回答
0

如果有,请尝试在 user.rb 中备注“before_save :encrypt_password”。

#  before_save :encrypt_password
于 2010-02-05T07:01:33.070 回答