假设我正在通过调用以下关联链来检索该运动的名称:
pick.event.league.sport.name
如何使用delegate method以便我可以像这样调用* pick.event_league_sport_name *?显然,我可以在pick模型中创建一个方法:
def event_league_sport_name
return self.event.league.sport.name
end
但我想使用delegate method !!!
答案 0 :(得分:8)
我不建议这样做,但如果你想......
delegate :name , :to => "event.league.sport" ,:prefix=>"event_league_sport"
也没有前缀。
务必处理无关联......
度过愉快的一天!
答案 1 :(得分:3)
您可以执行以下操作:
class Pick
def sport
event.league.sport
end
delegate :name, :to => :sport
end
这会导致pick.name
等同于pick.event.league.sport.name
。