0

我是 Ruby 和 Rails 的新手。我想在 Rails 中使用像 Java 的 @Transactional 注释这样的声明式事务管理。

有谁知道如何在 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 背景,但我阅读了有关 声明式事务管理的内容。在rails中,我们有

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

这里只有当两个操作都成功时,才会执行对数据库的提交,如果其中一个操作失败,则不会将任何操作提交到数据库。

于 2012-10-13T08:58:44.007 回答