2013-04-05 70 views
0

我想將某些東西的索引傳遞給partial,並得到一個NameError。將局部變量傳遞給部分返回NameError

現在,這是我的渲染語句,我可以很好地訪問builder。

<%= render 'my_partial', :builder => form_helper %> 

但是,當像下面添加索引,我得到的錯誤。

<%= render 'my_partial', :builder => form_helper, :locals => {:index => index } %> 

有什麼想法? 謝謝!

編輯:

雖然試圖

<%= render :partial => 'my_partial', :locals => {:builder => form_helper, :index => index } %> 

特定的錯誤是 「未定義局部變量或方法`索引」爲#<#:0x007fc37206ae40>」

+0

確實發生錯誤的部分? – apneadiving 2013-04-05 14:43:20

+0

索引是否在將視圖傳遞給部分的視圖中定義?也許它是'@ index'。 – Stefan 2013-04-05 14:46:05

回答

2

或者:

<%= render 'my_partial', :builder => form_helper, :index => index %> 

或者:

<%= render :partial => 'my_partial', :locals => {:index => index, :builder => form_helper } %> 
+0

然後我應該可以通過在我的部分中寫'<%= index %>'來訪問索引。 – JuliaC 2013-04-05 14:31:51

+0

從[Ruby on Rails指南](http://guides.rubyonrails.org/layouts_and_rendering.html#partial-layouts):「另外請注意,在傳遞其他選項時需要顯式指定':partial',例如':layout '「。當通過':locals'時同樣適用 – Stefan 2013-04-05 14:32:38

+0

@Stefan嘗試一下,像魅力一樣 – apneadiving 2013-04-05 14:36:32