私は安静な認証プラグインを使用していますが、私のサイトでは "パスワードの確認"フィールドのない登録フォームが必要です。今問題は、私のユーザモデルに含まれているプラグインモジュールにいくつかのバリデーションがハードコードされていることです。プラグインで定義されたモデルの検証をスキップ
# Authentication::ByPassword
validates_presence_of :password_confirmation, :if => :password_required?
validates_confirmation_of :password, :if => :password_required?
プラグインにパッチを適用せずにこれらの検証を無効にするにはどうすればよいですか?私のモデルでバリデーションを再定義すれば、これはトリックですか?そのような場合のベストプラクティスは何でしょうか?
save(false)
または::
update_attribute
をすべてまたは1つの検証をスキップするためにあなたが使用できる
# user.rb
validates_presence_of :password_confirmation, :if => Proc.new { false }
validates_confirmation_of :password, :if => Proc.new { false }
[OK]を、いくつかの単体テストを書いて、検証を再定義することは役に立ちません。他の選択肢はありますか? – egze
今のところ、私はプラグインにパッチを当てました – egze