0

我的模型/user.rb 中有以下内容:

validates :company, presence: true
validates :title, presence: true

我有一个辅助视图,我想在其中创建一个用户,但不要求该用户输入公司和职位。在不修改主 user.rb 的情况下我将如何做到这一点?

这适用于 Rails 3.2

4

2 回答 2

1

您可以通过以@BroiSatse 回答的方式声明自定义验证,或者在保存用户时可以validate: false作为参数传递,这样做

@user.save(:validate => false)
于 2014-05-21T05:18:32.780 回答
0

我通常会这样做:

class User < AR::Base

  validates :company, :title, presence: true, if: :validate_company_and_title?

  def validate_company_and_title?
    @validate_company_and_title.nil? || @validate_company_and_title
  end

  def skip_company_and_title_validation!
    @validate_company_and_title = false  
  end
end

然后在您的控制器中为给定视图创建操作,您可以执行以下操作:

@user.skip_company_and_title_validation!
于 2014-05-20T20:15:05.983 回答