我有用户和客户,它们都有一个地址。我想让 address.street 只对客户是必需的。我怎样才能做到这一点?
问问题
209 次
2 回答
2
您可以编写自己的自定义验证,如下所示:
class Address < ActiveRecord::Base
validate :client_street_required
def client_street_required
if self.street.blank? and !self.Client.blank?
errors.add(:street, "required")
end
end
end
于 2012-05-02T20:00:52.977 回答
1
标准方法是将条件放入验证中。看看rails_doc
class Address < ActiveRecord::Base
validate :street, :presence => true, :unless => 'client.nil?'
end
于 2012-05-02T20:54:42.683 回答