在Rails中的嵌套部分中传递实例变量?

时间:2013-12-23 17:02:34

标签: ruby-on-rails ruby ruby-on-rails-3

我在嵌套的partials中传递实例变量时遇到了困难。这就是我所做的。

在控制器中拥有:

def home
  @item = "some values"
  @ref = "some other values"
end

然后我有一个主页“home.html.erb”,其中我呈现了“_product_table.html.erb”:

<%= render "own/product_table", :item => @items, :ref => @ref %>

然后,在“_product_table.html.erb”中,我必须渲染“_product.html.erb”:

<% @items.each do |item|%>
  <%= render "own/product", :item => item, :ref => @ref %>
<% end %>

我无法理解为什么ref变量在“_product.html.erb”部分中不可用。

1 个答案:

答案 0 :(得分:2)

您将ref作为参数传递给home.html.erb中的部分参与者,因此在_product_table.html.erb中您应该使用item,而不是实例变量:

<% @items.each do |item|%>
  <%= render "own/product", :item => item, :ref => ref %>
<% end %>