Railsでトランザクションを使用する
Ruby on Railsでトランザクションを使用する場合は「ActiveRecord::Base.transaction」を使用します。
次例ではquestionモデル(questionsテーブル)、answerモデル(answersテーブル)を保存しています。「save」ではなく「save!」ですので保存に失敗すると例外が発生します。
ActiveRecord::Base.transaction do question.save! answer.save! end
トランザクション内で例外が発生すると、自動的にロールバック。正常に実行されると自動的にコミットされます。
スポンサーリンク
関連記事
公開日:2019年10月12日
記事NO:02791