2011-03-09 4 views
4

의 내가 협회의 다음 체인을 호출하여 스포츠의 이름을 검색하고있어 가정 해 봅시다 : 두 개 이상의 연결에 대리자 메서드를 사용하는 방법?

pick.event.league.sport.name 

어떻게 내가 너무 좋아 * pick.event_league_sport_name *를 호출 할 수 있도록 delegate method를 사용할 수 있습니까?

def event_league_sport_name 
    return self.event.league.sport.name 
end 

을하지만 난 delegate method를 사용하려면! : 분명히, 나는 픽업 모델의 방법을 만들 수 있습니다

답변

3

는 다음을 수행 할 수 있습니다 :이 pick.namepick.event.league.sport.name에 해당되는 초래

class Pick 
    def sport 
    event.league.sport 
    end 

    delegate :name, :to => :sport 
end 

. 당신이 원하는 경우

7

나는 접두사없이 ... 또한

delegate :name , :to => "event.league.sport" ,:prefix=>"event_league_sport" 

을이 제안 해달라고하지만.

아무 관련도 처리하지 말고 ...

좋은 하루 되세요!

관련 문제