2014-12-21 46 views
2

我得到这个问题在我的Ubuntu 14.04我有铁轨4.1.8和红宝石2.1.2。 上次我在Mac OSX 10.10上使用相同的rails和ruby版本进行了尝试,我能够成功创建用户。但是,当我想它在我的Ubuntu 14.04我得到了密码字段以下错误:Authlogic不正确的密码验证错误

密码太短(最小为5个字符) 确认密码不匹配密码

它不问题是密码的长度是多少,我确信密码和密码确认是一样的。这似乎是authlogic不能识别我的密码字段。 这里是我的配置:

acts_as_authentic do |c| 
c.validates_length_of_password_field_options = {minimum: 5} 
c.crypto_provider = Authlogic::CryptoProviders::BCrypt 
c.login_field = :email 

注:也authlogic认识我的电子邮件字段login_field所以我没有与登录方面的任何问题,只能用密码和确认密码。 我在DB中的密码字段名称是:crypted_pa​​ssword。

任何机构可以帮助我解决这个奇怪的问题,或者任何人都可以告诉我如何调试它,看看为什么authlogic验证失败的passord?

回答

0

我修复了这个问题。我的形式是这样的:

<div class="form-group"> 
    <%= f.label :crypted_password, 'Password' %><br> 
    <%= f.password_field :crypted_password, class: 'form-control' %> 
    </div> 

而在控制器中的我的用户参数是这样的:

params.require(:user).permit(:email, :crypted_password, :password_confirmation) 

而现在似乎该authlogic不承认crypted_pa​​ssword参数作为密码。当我从crypted_pa​​ssword中删除“crypted”时,它就起作用了。我不知道为什么它在Mac OSX上工作,但现在它在我的Ubuntu 14.04上工作。