我是Ruby和Rails的新手。 我想在Rails中使用声明式事务管理,如Java的@Transactional注释。
有人知道如何在Rails中使用“声明式事务管理”吗?
答案 0 :(得分:1)
没有像ruby中的注释,但你可以使用元编程来构建类似的东西。请记住,私有,受保护和公共也只是方法而不是关键字。你可以建立类似的东西
transactional
def my_transactional_method
puts "some stuff happens here"
end
也许这个宝石https://github.com/fredwu/ruby_decorators可以帮助你。 或者甚至更好https://github.com/michaelfairley/method_decorators,还有一个实例用于交易的装饰器。
答案 1 :(得分:0)
我不是来自java背景,但我读到了声明式事务管理。在轨道我们有
ActiveRecord::Base.transaction do
#do some model operation
#do some model operation
end
这里只有当两个操作都成功时,才会执行对db的提交,如果其中一个失败,则不会将任何操作提交给db。