我有一个动作一次更新三个表:
def action_save
@user.update(param_param_list1)
@application.update(param_list2)
@college.update(param_list3)
end
但是为了使程序更好,我想要一次保存所有三个或者根本不保存
答案 0 :(得分:7)
def action_save
@college.transaction do
@user.update!(param_param_list1)
@application.update!(param_list2)
@college.update!(param_list3)
end
end
事务确保执行该块中的所有数据库操作。或者如果有错误,则回滚整个事务。