我是 Ruby 和 Rails 的新手。我想在 Rails 中使用像 Java 的 @Transactional 注释这样的声明式事务管理。
有谁知道如何在 Rails 中使用“声明式事务管理”?
我是 Ruby 和 Rails 的新手。我想在 Rails 中使用像 Java 的 @Transactional 注释这样的声明式事务管理。
有谁知道如何在 Rails 中使用“声明式事务管理”?
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,还有一个实现交易装饰器的示例。
我不是来自 java 背景,但我阅读了有关 声明式事务管理的内容。在rails中,我们有
ActiveRecord::Base.transaction do
#do some model operation
#do some model operation
end
这里只有当两个操作都成功时,才会执行对数据库的提交,如果其中一个操作失败,则不会将任何操作提交到数据库。