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