如何根据表单输入有条件地更新模型

时间:2012-06-24 17:37:06

标签: ruby-on-rails forms devise

我有一个“设置”页面,用户可以在其中更新信息及其密码。在名称和电子邮件字段的同一表单上有一个password和password_confirmation字段。这样做的正确方法是什么?如果我只是将密码字段放在同一个表单上并且用户没有尝试更改它,它就会给我一个密码,不能是空白验证错误。这样做有“正确”的方法吗?

编辑:我正在使用设计

编辑:这是我的用户型号代码:

class User < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable

  # Setup accessible (or protected) attributes for your model
  attr_accessible :name, :email, :password, :password_confirmation, :remember_me, :reset_password_token

  has_one :lineup

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方式:

validates :password, :presence=>true, :on=>:create

这样当用户更新他们的数据时,密码将是可选的。