0

REST インターフェイスを介して別のアプリケーションから新しい作業指示を受け取る Rails アプリがあります。ユーザーは、フォームを介して新しい作業指示書を入力することもできます。

新しいワークオーダーが新しいフォームを介して作成された場合、ユーザーがスーパーバイザーのチェックボックス (選択リスト) から値を選択したことを検証したいと思います。

ユーザーが Workorder を更新するか、Workorder が REST インターフェイスを使用して作成されたかどうかを検証したくありません。

これは、更新ではなく作成時に検証されるように機能します。

validate_presence_of :supervisor, :on => :create

しかし、REST 経由でレコードが作成されたときに検証しないようにするにはどうすればよいでしょうか?

助けてくれてありがとう!

4

1 に答える 1

0

モデル

attr_accessor :rest

validates_presence_of :supervisor, :on => :create, :if => lambda{ |model| model.rest }

コントローラ

...
respond_to do |format|
  format.json do
    model.rest = true
    ...
  end
end
于 2013-05-04T03:20:59.757 に答える