[Rails] ActiveRecord::Base.transaction で ActiveRecord::Rollback が発生するとどうなる??
下記は’失敗⤵︎’ が返ってくる。
def destroy(id)
ActiveRecord::Base.transaction do
raise 'ほげ'
end
render json: { message: '成功!!' }
rescue => e
render json: { message: '失敗⤵︎' }
end
下記の場合は transaction
の中で ActiveRecord::Rollback
が捕捉されるため、「’成功!!’」が返ってくる。
def destroy(id)
ActiveRecord::Base.transaction do
raise ActiveRecord::Rollback
end
render json: { message: '成功!!' }
rescue => e
render json: { message: '失敗⤵︎' }
end