Rails 关于原子性问题

jiffies · 2012年04月29日 · 最后由 kenshin54 回复于 2012年04月29日 · 2939 次阅读

在一个 action 里操作了好几个资源,如果前面几个资源都操作成功了,但是最后一个却失败了,比如我要发私信给另一个用户,先 message save 成功然后发送一个提醒却失败了,一般应该怎么处理这种情况?

可以用 transaction

ActiveRecord::Base.transaction do
  david.withdrawal(100)
  mary.deposit(100)
end

需要 登录 后方可回复, 如果你还没有账号请 注册新账号