1

検証の1つのステップをスキップする必要があるrailsプログラムがありますが、それだけです。object.validを使用してパラメータを送信できるように検証を設定する方法はありますか?これは、1つの検証をスキップするようにオブジェクトに指示します。

これは私がこれまでに持っているものです:

モデル:

validates :event_id, :presence => true, :unless => :skip_event_id

コントローラ:

 if new_lot.valid(:skip_event_id => :true)?

          .
          .
          .
      end

これにより、.validの構文エラーが発生します。これを機能させる方法があるかどうか疑問に思っていました。ありがとう!

注:他のすべての検証を続行したい

4

1 に答える 1

2

事前にその変数を設定する必要があります。有効かどうかを確認することはできません。同様に、疑問符のあるメソッドを使用する場合は、括弧の前に疑問符を付ける必要があります。

モデル:

attr_accessor :skip_event_id

コントローラ:

new_lot.skip_event_id = true
if new_lot.valid?
  # some stuff
end
于 2013-01-29T16:06:28.170 に答える