Ruby Rails中的声明性事务管理
我是Ruby和Rails的新手。 我想使用声明性事务管理,就像Rails中Java的@Transactional注释一样Ruby Rails中的声明性事务管理,ruby,Ruby,我是Ruby和Rails的新手。 我想使用声明性事务管理,就像Rails中Java的@Transactional注释一样 有人知道如何在Rails中使用“声明性事务管理”吗?我不是java背景,但我读过有关声明性事务管理的文章。在轨道上,我们有 ActiveRecord::Base.transaction do #do some model operation #do some model operation end 在这里,只有当两个操作都成功时,才会执行对数据库的提交,如果其中一个
有人知道如何在Rails中使用“声明性事务管理”吗?我不是java背景,但我读过有关声明性事务管理的文章。在轨道上,我们有
ActiveRecord::Base.transaction do
#do some model operation
#do some model operation
end
在这里,只有当两个操作都成功时,才会执行对数据库的提交,如果其中一个操作失败,则不会将任何操作提交给数据库。ruby中没有类似的注释,但是您可以使用元编程构建类似的东西。记住,private、protected和public也只是方法,而不是关键字。你可以给自己做一些类似的东西
transactional
def my_transactional_method
puts "some stuff happens here"
end
也许这颗宝石能帮你。
甚至更好的是,还有一个示例实现了事务的装饰器。感谢您的回复!但您的示例代码似乎是编程事务管理。我想做点像这样的事!(见10.5.6使用@Transactional)