我的用户模型包含:名称,电子邮件和密码字段。所有3个都有长度验证。 “更新帐户”网页允许用户更新他的姓名和电子邮件地址,但不是密码。提交时,params [:user]是在Rails 3中,当我不试图更新密码时,如何跳过验证密码字段?
{"name"=>"Joe User", "email"=>"[email protected]"}
请注意,没有“密码”键,因为表单不包含这样的输入字段。
当我打电话
@user.update_attributes(params[:user])
密码验证失败。但是,由于我没有尝试更新密码,因此我不希望在此更新上运行密码验证。我很困惑为什么当params [:user]不包含“密码”键时密码验证正在运行。
请注意,我想在其他地方有一个单独的网页,允许用户更新他的密码。而对于那个提交,密码验证应该运行。
谢谢。
它不应该运行密码验证,并且如果密码字段有效首先关闭,它将失败。你说你没有通过密码,但我有你的怀疑。 – 2010-08-22 22:59:48