Activerecord “中的错误”;“U事务”返回“U状态”;在保存期间

Activerecord “中的错误”;“U事务”返回“U状态”;在保存期间,activerecord,ruby-on-rails-3.2,Activerecord,Ruby On Rails 3.2,在拯救过程中!对于一个对象,我得到一个奇怪的“ArgumentError-参数数目错误(1代表0)”错误。调试导致方法返回文件Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.14/lib/active\u record/transactions.rb中的\u状态, 其中self.class.transaction结果为零,这似乎很奇怪。跨过self.class.transaction行会引发错误。你知道为什么会出问题吗 def with_t

在拯救过程中!对于一个对象,我得到一个奇怪的“ArgumentError-参数数目错误(1代表0)”错误。调试导致方法返回文件Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.14/lib/active\u record/transactions.rb中的\u状态, 其中self.class.transaction结果为零,这似乎很奇怪。跨过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

非问题:在输入字段中使用“,”作为分隔符似乎是一个好主意,因为它重写了BigDecimal的to_方法,结果变成了一场噩梦,导致了上述。。。删除了to_s覆盖,问题就消失了…

有太多可能的原因。。。发布一些上下文(您执行的代码)和错误消息(完整的stacktrace,包括行号)将是一件好事。@phoet:不再需要寻找解决方案。通过重写BigDecimal的to_方法,在输入字段中使用“,”作为分隔符似乎是一个好主意,结果变成了一场噩梦,导致了上述。。。删除了to_的覆盖,问题就消失了……您应该回答自己的问题,这样其他人就不必再看它了