The net is vast
プログラミングや、コンピュータなどの備忘録です。 主にRuby, Java, Linux, 等を扱います。アルゴリズムも扱いたいな。
1:50

Railsのトランザクションの中ではスレッドが使えない

Category: , By jx

例えば次のようなロールバックを期待するソースコードを書いても実際にはコミットされてしまう。
どうしてもスレッドを使いたかったら、スレッドの外で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
 

0 comments so far.

Something to say?