Rails 4渲染部分(未定义的局部变量或方法)

时间:2014-03-17 16:31:26

标签: ruby-on-rails ruby-on-rails-4 partials

我正在尝试将两个局部变量传递给我的部分但是我得到了这个未定义的局部变量或方法`row'用于#<#:0x00000105d7f3b0>在部分中使用它时。

渲染

<%= f.fields_for :menu_items do |builder| %>
<%= render partial: 'menu_item_fields', locals: {f: builder, row: f.options[:child_index]} %>
<% end %>`

部分

<a href="#" data-target="item-<%= f.options[:child_index].to_s + "-" + row.to_s %>" class="item-field"><%= f.object.title %></a>

2 个答案:

答案 0 :(得分:1)

更改此代码

<a href="#" data-target="item-<%= f.options[:child_index].to_s + "-" + row.to_s %>" class="item-field"><%= f.object.title %></a>

如下:

<a href="#" data-target="item-<%= f.options[:child_index].to_s + '-' + row.to_s %>" class="item-field"><%= f.object.title %></a>

答案 1 :(得分:0)

我认为应该是:

{ f: builder, row: builder.options[:child_index] }

糟糕,我在手机上误读了你的代码。如果您不使用部分代码调用代码,您的代码是否正常工作?