我在rails4中使用Authlogic,我已经用密码替换了encrypt_password字段。
<div class="field">
<%= f.label :password %><br>
<%= f.password_field :password %>
</div>
<div class="field">
<%= f.label :password_confirmation %><br>
<%= f.password_field :password_confirmation %>
</div>
class User < ActiveRecord::Base
attr_accessor :password, :password_confirmation
acts_as_authentic do |c|
#c.validate_password_field = false
end
end
问题是我无法保存密码如果我禁用c.validate_password_field其他字段正在保存,否则密码太短(最少4个字符),这意味着它不接受密码,但为什么?
任何人都可以帮忙吗?
答案 0 :(得分:0)
我得到了解决方案。
实际上我忘了在user_params中允许密码。 rails4新功能强大的参数。
def user_params
params.require(:user).permit(:username, :subdomain, :email, :password, :password_confirmation, :persistence_token, :authentication_token)
end