2016-06-14 3 views
0

を行う際に作成し、私は私の頭を少しスクラッチ作っ:作成の違い!そして、私はマイケル・ハートルチュートリアル、次の行をやっているリレーショナルオブジェクト

user.microposts.create!(content: content) 

通常、!演算子は、呼び出されたオブジェクトを変更することを意味します。しかしこの場合、私は!ユーザー変数を変更し、データベースにマイクロポストを挿入しました。 !とは何ですか?この場合、演算子は?

答えて

0

バン演算子(save!create!)は、モデルが無効である場合、非強打(savecreateは)ちょうどfalseを返す例外が発生します。差

0

http://edgeguides.rubyonrails.org/active_record_validations.html#when-does-validation-happen-questionmarkここから はcreateオブジェクトを返しながらcreate!は、(検証または他のコールバックに起因するかもしれない)障害に例外が発生しますです。 createメソッドでは、micropostを取得して、エラーがあるかどうかを確認することができます(micropost.errors)。あなたは例外を扱うのに対し、create!

関連する問題