2011-04-14 3 views
0

私はRails 3とAJAXを使用しており、親オブジェクトはAJAXリクエストを介して作成されています。この親は子供と一緒に送られ、それらをすべて保存します。しかし、子供にエラーがある場合、Railsは要求を停止します。これを無視するようにRailsに指示する方法はありますか? Javascript内の問題を見つけて修正することが適切なことを理解しています。しかし、学習のために、いくつかのエラーが無視できるかもしれないことをRailsに伝える方法はありますか?Ruby on Rails - エラーメッセージを取り除く

答えて

1

使用を検証せずに保存するには:

@parent.save(:validate => false) 

また、ニーズがあること場合は、条件付きの検証ルールを作成することができます忘れないでください。たとえば、bare_bones?でアクセス可能な仮想属性(DBに保持されていないインスタンス変数)を追加します。そして、そのようにバリデータを変更します。このことができます

@parent = Parent.new params[:parent] 
@parent.bare_bones = true 
@parent.save() 

希望:

validates_presence_of :nickname, :unless => "bare_bones?" 

次に、あなたのコントローラであなたはこのような何かをするだろう。

+0

非常に知って良いこと、ありがとう! – Serodis

1

例外処理を探しています。

begin 
    #code that may contain errors 
rescue 
    #what to do if an error is encountered 
end 
+0

これはまさにエラーではありません。検証に失敗しました。私が探しているのは、もちろんそれが失敗することです。しかし、失敗を無視し、ただ行動を取らないように。まだ他のすべてをやっていきます。この場合、継承可能な他の子と親モデルを保存し続ける。 – Serodis