在friendly_id中的slug_candidates中使用关联的字段名称

时间:2014-03-08 15:59:24

标签: ruby-on-rails ruby ruby-on-rails-4 friendly-id

是否可以在我的slug_candidates方法中使用关联?

例如,我的模型belongs_to:car

def slug_candidates
    [
      [car.owner, :horsepower, "horsepower"],
      [car.owner, car.nickname, :horsepower, "horsepower"]
    ]
end

现在它返回

NoMethodError:nil的未定义方法`owner':NilClass

1 个答案:

答案 0 :(得分:5)

我认为这是ActiveRecord模型中定义的方法。

这是因为您使用的其中一条记录没有car(即它是nil)。

因此,当您对该特定记录执行car.owner时(可能有多个btw)实际上是在owner上调用方法nil(即nil.owner }),因此错误。