0

models/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 に答える