用户模型尝试在更新时验证密码是否存在?

时间:2011-10-22 23:23:11

标签: ruby-on-rails ruby-on-rails-3 activerecord

我有一个简单的用户帐户更新表单,我在其中尝试更新登录用户的帐户信息。但是,当我尝试执行user.update_attribute时,即使我对密码存在的验证显示为:on => :create

,它仍然会抱怨密码为空

为什么会这样? 我没有使用devise / authlogic或任何其他auth gem

我的用户模型看起来像这样(它通常怀疑password_hash / salt作为列):

attr_accessible :email, :password, :password_confirmation

validates_presence_of :password, :on => :create, :unless => :provider?

UsersController具有以下更新方法:

def update
  @user = current_user
  @user.update_attributes params[:user]

  # this prints error hash, see output below
  logger.error @user.errors.inspect 

  # other rendering code
  flash[:notice] = 'Saved OK'
  render :action => :edit
end

调用@ user.update_attributes后的@ user.errors.inspect输出 -

#<OrderedHash {:password=>["is too short (minimum is 6 characters)"]}>

0 个答案:

没有答案