2012-11-15 3 views
2

레일스의 문제점은 다음과 같습니다.레일스 렌더링 서브 액션 젬

페이지에 현재 컨트롤러 또는 동작과 논리적 관계가없는 독립적 인 블록 (예 : '최신 뉴스')이있는 경우가 있습니다. 정기 레일 MVC 스택에서는 @news = News.latest을 내 컨트롤러에, render 'shared/latest_news', news: @news을 내보기에 씁니다. 그러나 그 이유는 여러 가지가 있습니다. 대신보기에 render 'shared/latest_news', locals_call: "NewsController#latest"을 쓰고 싶습니다. 이 행 뒤에서 일어날 일은이 템플릿 렌더링에 사용 된 지역 주민의 해시를 받기 위해 "NewsController # latest"메서드를 호출하는 것입니다.

누구든지 이러한 전화에 보석을 알고 있습니까?

답변

0

당신은 ApplicationHelper에서 보편적 도우미 메서드를 만들 수 :

def latest_news_tag 
    render partial: 'shared/latest_news', locals: { news: News.latest } 
end 

당신은 당신이 원하는보기, 예를 들어,이 메소드를 호출 할 수 있습니다 <%= latest_news_tag %>.