ruby-on-rails - 为什么坚持?在 ActiveRecord::Rollback 之后返回 true?

标签 ruby-on-rails activerecord ruby-on-rails-4 simple-form

例子:

BillingProfile.transaction do
  if @billing_profile.save
    unless SomeService.do_something # returns false and rollback occurs
      raise ActiveRecord::Rollback
    end
  end
end

@billing_profile.persisted? # Still return true, despite rollback
@billing_profile.id # Is set, despite rollback

为什么@billing_profile 的状态不会反射(reflect)记录已回滚?

这是一个问题,因为记录回滚后无法创建。

最佳答案

原来这是 ActiveRecord (Rails 4) 中的一个错误:https://github.com/rails/rails/issues/13744

现在已经修复。

关于ruby-on-rails - 为什么坚持?在 ActiveRecord::Rollback 之后返回 true?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21175788/

相关文章:

ruby-on-rails - 如何调试Rails连接池的使用情况?

ruby-on-rails - 西类牙语中的 cucumber 步骤定义 : Ambiguous match of "..."

mysql - 你如何在mysql或rails中做到这一点

ruby-on-rails - 有没有办法重新渲染?

ruby-on-rails - 无法访问本地 Rails 服务器

ruby-on-rails - 是否在 Gemfile 中强制指定 Rails 应用程序的 Gem 版本

ruby-on-rails - 断言assert_valid_keys的: Unknown key: :order (ArgumentError)

ruby-on-rails - ActiveRecord:在没有 Rails 的情况下使用 ActiveRecord 时如何在 AR 模型之间共享连接

sql - 如何在 Rails 3 中按时间片(sum、avg、min、max 等)获取聚合数据

ruby-on-rails - 如何清除 Rails 文件缓存?