我有一个像这样一次更新三个表的操作:
def action_save
@user.update(param_param_list1)
@application.update(param_list2)
@college.update(param_list3)
end
但是为了让程序更好,我想要么一次将所有三个一起保存,要么根本不保存
最佳答案
def action_save
@college.transaction do
@user.update!(param_param_list1)
@application.update!(param_list2)
@college.update!(param_list3)
end
end
事务确保执行该 block 内的所有数据库操作。或者如果出现错误,则回滚整个事务。
关于ruby-on-rails - 在 rails 中一次保存多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29724266/