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结果为零,这似乎很奇怪。跨越self.class.transaction行会导致错误发生。任何想法为什么这可能出错?保存期间“with_transaction_returning_status”中的错误
def with_transaction_returning_status
status = nil
self.class.transaction do
add_to_transaction
status = yield
raise ActiveRecord::Rollback unless status
end
status
end
有太多可能的原因...发布一些上下文(您执行的代码)和错误消息(包括行的完整堆栈跟踪将是一件好事 - 值)。 – phoet
@phoet:无需再寻找解决方案。通过覆盖BigDecimal的to_s方法,导致上述情况变成了一场噩梦似乎是一个好主意,因为在输入字段中使用','作为分隔符,导致上述情况...移除了to_s覆盖,问题消失了。 .. – Danny
你应该回答你自己的问题,以便其他人不必再看它 – phoet