2013-04-05 67 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