我有一个关于PHP的网站,我想把它转换为Rails。我使用 md5 进行密码存储,_form部分用于注册和编辑用户数据。我做了登录名和密码字段,这对于注册来说是完美的,但是当用户尝试编辑他的数据时,登录名,密码字段再次需要填写(密码字段具有密码类型并保持空白以进行编辑)。我如何使用这些表格并解决在编辑模式下输入密码的问题?
在您的模型中,仅当密码字段已填写时,才对密码字段添加验证,换句话说,在更新时,这些字段可以为空。 如果它们为空,则不会验证或更改它们。
validates :password,
:confirmation => true,
:length => {:within => 8..20},
:allow_blank => true,
:on => :update
您可能还想在表单上添加注释,仅当您更改密码或电子邮件地址时才需要密码字段。
您可以检查object.new_record?
(如Yoshiji先生提到的)以确定它是新记录(还没有id)还是现有记录以更改表单提示。