0

次のようなものがある場合:

Model1.update_all ['a1 = ?, a2 = ?', v1, v2], ['id = ?', id1]
Model2.update_all  ['a3 = ?', v3], ['id = ?', id2]

上記の更新のいずれかが失敗した場合、それらのいずれも効果がないことを確認するにはどうすればよいですか。一種のロールバックが実行されますか?

4

1 に答える 1

2

これでうまくいくはずです。

Model1.transaction do
  Model1.update_all ['a1 = ?, a2 = ?', v1, v2], ['id = ?', id1]
  Model2.update_all  ['a3 = ?', v3], ['id = ?', id2]
end
于 2012-06-24T17:03:16.423 に答える