0

私はRubyとRailsが初めてです。Java の @Transactional アノテーションのようなDeclarative トランザクション管理を Rails で使用したいと考えています。

Railsで「宣言型トランザクション管理」を使用する方法を知っている人はいますか?

4

2 に答える 2

1

Ruby には注釈のようなものはありませんが、メタ プログラミングを使用して同様のものを自分で構築できます。private、protected、および public も単なるメソッドであり、キーワードではないことに注意してください。あなたは自分自身に似たものを構築することができます

transactional
def my_transactional_method
  puts "some stuff happens here"
end

たぶん、この宝石https://github.com/fredwu/ruby_decoratorsがそれを助けてくれます。またはさらに良いhttps://github.com/michaelfairley/method_decorators、トランザクションのデコレーターを実装するサンプルもあります。

于 2012-10-14T00:28:09.473 に答える
0

私はJavaのバックグラウンドではありませんが、 Declarative transaction managementについて読みました。レールでは

ActiveRecord::Base.transaction do
  #do some model operation
  #do some model operation
end

ここでは、両方の操作が成功した場合にのみ、データベースへのコミットが実行されます。一方が失敗した場合、操作はデータベースにコミットされません。

于 2012-10-13T08:58:44.007 に答える