ホーム > カテゴリ > Ruby・Ruby on Rails >

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