Rails 多表事务

nancy · November 06, 2012 · Last by nancy replied at November 06, 2012 · 2981 hits

customer 和 Info 是一对多关系

begin
Customer.transaction do
    customer = Customer.new(params[:customer])
    customer.save
    info = Info.new(params[params[:info]])
    info.save
end
rescue
  respond_to do |format|
    format.json { render :json => { "success" => false, "result" => "保存失败!"} }
  end
end

事务怎么不起作用呢?info 校验失败,customer 应该回滚,但是却插入数据库了。。 大家多表事务是怎么处理的

info.save 改为 info.save!

要用报错的方法。

#2 楼 @woaigithub 问题解决了,不知道有没有更好的方法。目前是校验不通过就直接报错

You need to Sign in before reply, if you don't have an account, please Sign up first.