2012-04-29 4 views
0

오늘 일부 변수를 내 shared/menu 부분에 사용하고 싶습니다. 나는 어딘가에 application_controller 몇 가지 도우미 메서드 (또는 뭔가 그런) 넣어해야하지만 그게 나를 위해 작동하지 않습니다 알아요. 내가보기에 직접 @pagecontents 변수를 정의하지 않으다른 컨트롤러의 레이아웃 부분 변수에 액세스

- @pagecontents = Pagecontent.all 
- @pagecontents.each do |pc| 
    %ul 
    %li 
     = link_to pc.title, pc 

: 여기 내 임시 방편 (shared/_menu.html.haml)입니다! :/내 문제는 application_controller 파일에 어딘가에 @pagecontent 변수를 추가하는 것입니다하지만 난 예를 시도 할 때 :

def pagecontentforpartial 
    @pagecontents = Pagecontent.all 
end 

후 나는이 방법이 nil이라고 오류가있어 내 부분보기에서이 변수에 액세스하려고 (하지만이 이미 많은 기록이 있습니다!) 누군가이 문제를 해결하는 방법을 설명 할 수 있습니까?

답변

1

직접 그것은 당신의 shared/_menu.html.hamlrender 방법

를 사용하여 부분에 개체를 전달할 수 있습니다

- pagecontents.each do |pc| 
%ul 
    %li 
    = link_to pc.title, pc 

을 그리고 당신이 그것을 보여줄 필요가있을 때, 당신이보기에이 방법을 사용할 수 있습니다

render 'shared/menu', pagecontents: @pagecontents 

@pagecontents은 물론 컨트롤러에서입니다.

+0

이 문제가 해결되었습니다 감사합니다! – mrmnmly

관련 문제