0

我有这门课

class Email < ActiveRecord::Base    
  belongs_to :order
  delegate :foo, to: :order

当我运行方法 foo 时,我得到了这个错误:

Email#foo delegated to order.foo, but order is nil

但是,当我将此方法添加到电子邮件时,它突然起作用了

def order
  Order.find( order_id )
end

为什么会发生这种情况?我很高兴它现在正在工作,但我对它为什么失败感到困惑。我在一个对我来说很新的代码库中工作,并且以前没有在我自己的项目中使用过委托。

谢谢

4

0 回答 0