0

在保存期间!对于一个对象,我得到一个奇怪的“ArgumentError - 参数数量错误(1 代表 0)”错误。调试导致文件Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.14/lib/active_record/transactions.rb中的方法with_transaction_returning_status,其中self.class.transaction结果为nil,这似乎很奇怪。跨过 self.class.transaction 行会引发错误。任何想法为什么这可能会出错?

def with_transaction_returning_status
  status = nil
  self.class.transaction do
    add_to_transaction
    status = yield
    raise ActiveRecord::Rollback unless status
  end
  status
end
4

1 回答 1

0

非问题:通过覆盖 BigDecimal 的 to_s 方法,在输入字段中获得一个“,”作为分隔符似乎是一个好主意,结果变成了一场噩梦,导致上述问题......删除了 to_s 覆盖,并且问题消失了……

于 2013-10-15T04:47:08.927 回答