在保存期间!对于一个对象,我得到一个奇怪的“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