我有一个简单的用户帐户更新表单,我在其中尝试更新登录用户的帐户信息。但是,当我尝试执行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)"]}>