2012-08-31 3 views
3

내가 지금 같은 부분을 렌더링하고 접근하지 :는 지역 변수

undefined local variable or method `page' 

나는 접근하고있다 :

<% @pages.each do |page| %> 
    <%= render 'layouts/pagewithchildren', :locals => { :page => page } %> 
<% end %> 

을하지만을 나는 오류를 얻고 페이지의 변수에 액세스하려고 할 때 같은 변수 :

<%= page.title %> 

그럼 내가 뭘해야합니까?

답변

5

난 100 % 확실하지 않다하지만 중 하나

<%= render 'layouts/pagewithchildren', :page => page %> 

또는

<%= render :partial => 'layouts/pagewithchildren', :locals => { :page => page } %> 

이 아닌가요?

4

명시 적으로 partial을 지정해야합니다. 그렇지 않으면 Rails가 로컬을 params 해시로 처리하므로 지역 변수 [page]에는 액세스 할 수 있지만 부분 변수에는 직접 페이지 변수를 사용할 수 없습니다.

<%= render partial:'layouts/pagewithchildren', locals: {page: page} %> 
:

은 당신의 코드를 변경