如何在rails中使用相同的表单部分进行注册和编辑

时间:2013-01-30 16:30:31

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

我有一个关于PHP的网站,我想将其转换为Rails。我使用md5进行密码存储,使用_form partial进行注册和编辑用户数据。我需要登录和密码字段,这对于注册非常有用,但是当用户尝试编辑他的数据时,再次需要填写登录,密码字段(密码字段具有密码类型并保持空白以进行编辑)。如何使用这些表格并解决密码输入编辑模式的问题?

1 个答案:

答案 0 :(得分:1)

在您的模型中,只有在填写了密码字段时才添加验证,换句话说,在更新时,字段可以为空。如果它们是空白的,则不会对其进行验证或更改。

validates :password, 
          :confirmation => true, 
          :length => {:within => 8..20}, 
          :allow_blank => true, 
          :on => :update

您可能还想在表单上添加注释,只有在更改密码或电子邮件地址时才需要输入密码字段。

您可以查看object.new_record?(正如Yoshiji先生所提到的),以确定它是否是新记录(尚无ID)或现有记录,以更改您的表单提示。