1:50
Railsのトランザクションの中ではスレッドが使えない
例えば次のようなロールバックを期待するソースコードを書いても実際にはコミットされてしまう。
どうしてもスレッドを使いたかったら、スレッドの外でModelを作成するのがいいんじゃないかと思う。
begin ActiveRecord::Base::transaction() do h = Thread.start do Bookmark.create throw 'hoge' end h.join end rescue p $! end p Bookmark.find(:all).size