旅好きエンジニアのメモ

旅のこと映画、統計、会計、プログラミングなど、気の向くままに語ります

railsのsaveとsave!の違い (active record)

railsを使っていてDBに登録するときに
saveを使っているでしょうか?
それとも
save!を使っているでしょうか?

この違いって結構大きいんですよね。
ですので使い分けを推奨します。

ではどのように使い分けるかというと、データを新しく取り込むときに
取り込めなかったときにエラーにするかしないかを選ぶということです。

・saveは、保存できない場合 false。
・save!は、保存できない場合 例外ActiveRecord::RecordInvalid

何か取り込めなかったときにログとか残しておきたかったらsave!とかのほうがいいかもしれません。
特にログは残さないし、true falseの判断だけでいいやってかたはsaveでいいかもしれません。