using an associated field name in slug_candidates

2019-07-15 10:25发布

Is it possible to use a association in my slug_candidates method?

for example, where my model belongs_to :car

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

right now it returns

NoMethodError: undefined method `owner' for nil:NilClass

1条回答
小情绪 Triste *
2楼-- · 2019-07-15 11:00

I assume this is a method defined in an ActiveRecord model.

It's because one of the records you are using does not have a car (ie. it is nil).

So when you do car.owner on that specific record (there may be more than one btw) are essentially trying to call the method owner on nil (ie. nil.owner), therefore the error.

查看更多
登录 后发表回答