我想知道是否有比将 Ruby on rails 附加到类模型更好的方法来管理事务?
Student.transaction do
Course.transaction do
course.enroll(student)
student.units += course.units
end
end
我不希望我的事务是特定于模型的,这样我就可以在控制器级别开始/提交/回滚它们,而不需要模型依赖。
我想知道是否有比将 Ruby on rails 附加到类模型更好的方法来管理事务?
Student.transaction do
Course.transaction do
course.enroll(student)
student.units += course.units
end
end
我不希望我的事务是特定于模型的,这样我就可以在控制器级别开始/提交/回滚它们,而不需要模型依赖。
您也可以使用ActiveRecord::Base.transaction
.
AFAIK根本没有区别。使用您的模型之一打开事务根本不会限制事务中不属于该模型的不同对象的使用。
见这里:http ://api.rubyonrails.org/classes/ActiveRecord/Transactions/ClassMethods.html