我在我的ubuntu 14.04上遇到这个问题我有rails 4.1.8和ruby 2.1.2。 上次我在mac OSX 10.10上尝试了相同的rails和ruby版本,我能够成功创建用户。但是当我在我的ubuntu 14.04上尝试它时,我收到了以下密码字段的错误:
密码太短(最少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_password。
任何人都可以帮我解决这个奇怪的问题,或者有人可以告诉我如何调试它以查看为什么authlogic验证因passord而失败?
答案 0 :(得分: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_password参数识别为密码。当我删除&#34;加密&#34;来自:crypted_password它的工作原理。我不知道为什么它在Mac OSX上工作但现在它适用于我的ubuntu 14.04。