コントローラのアクションの例があります。
def some_action
product = Product.new
product.name = "namepro"
if product.save
client.update_attribute(:product_id,product.id)
end
end
このコードのトランザクションを追加するにはどうすればよいですか?私はこのサンプルコードで試してみます:
def some_action
**transaction do**
product = Product.new
product.name = "namepro"
if product.save
client.update_attribute(:product_create,Time.now)
end
**end**
end
ただし、次のエラーが発生します。
undefined method `transaction'
Controllersでトランザクションを使用することは悪い習慣ですが、その理由はわかりません(http://markdaggett.com/blog/2011/12/01/transactions-in-rails/)
この例では、製品が作成および保存されていて、クライアントの更新が失敗した場合...Railsは何もしてはなりません。
ありがとう。