我有这个班级
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
为什么会这样?我很高兴它现在正在工作,但我很困惑为什么它失败了。我正在使用一个对我来说很新的代码库,并且之前没有在我自己的项目中使用委托。
由于