对象显示为现有而不是同时存在

时间:2014-01-17 15:45:13

标签: ruby-on-rails ruby

我有一些非常奇怪的问题,我无法调试。

这是我的代码:

def find_order_and_payment
  @payment = Spree::Payment.find_by_identifier(params['session_id'])
  Rails.logger.info "payment_id #{@payment.id}"
  @order = @payment.order
end

这是输出:

I, [2014-01-17T16:39:43.084827 #12342]  INFO -- : payment_id 187
I, [2014-01-17T16:39:43.090718 #12332]  INFO -- : Completed 500 Internal Server Error in 448ms
NoMethodError (undefined method `id' for nil:NilClass):
  app/controllers/payu_status_controller.rb:36:in `find_order_and_payment'

第36行是Rails.logger的行。我不明白,为什么我得到了正确的id,但同一行返回未定义的方法id?如果我从控制台调用上面的代码,一切都按预期工作。

0 个答案:

没有答案