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

Joe*_*nas 2 ruby ruby-on-rails friendly-id ruby-on-rails-4

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

例如,我的模型belongs_to:car

def slug_candidates
    [
      [car.owner, :horsepower, "horsepower"],
      [car.owner, car.nickname, :horsepower, "horsepower"]
    ]
end
Run Code Online (Sandbox Code Playgroud)

现在它又回来了

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

Agi*_*gis 5

我假设这是一个在ActiveRecord模型中定义的方法.

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

所以,当你做car.owner对特定记录(可能有不止一个的BTW)基本上是试图调用方法ownernil(即nil.owner),因此错误.