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