2012-08-31 46 views
3

我翻譯一個部分,像這樣:部分不訪問本地變量

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

但是當我嘗試訪問我收到錯誤頁面的變量:

undefined local variable or method `page' 

我訪問變量如:

<%= 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} %>