【发布时间】:2014-05-25 09:30:17
【问题描述】:
我有一个 rails 4 应用程序,其中包含如下代码:
<% @store.products.each_with_index do |p, i| %>
<%= render "product_fields", locals: {product:p, index: i} %>
<% end %>
product_fields 部分看起来像:
//LOTS OF HTML CODE HERE
<% if params[:action] == "edit" %>
<%= render "edit_product_fields", locals: {p: product, i: index } %>
<% end %>
但出现错误(在 _product_fields.html.erb 上):
NameError in Products#edit
undefined local variable or method `p' for #<#<Class:0x00000101e35da8>:0x00000101a86568>
怎么了?另外,我想知道是否有一种更简洁的方法可以将变量传递给局部变量中的局部变量?我尝试做类似locals: {w:w} 的事情(这样变量的命名就会一致,但它似乎也不起作用。
【问题讨论】:
-
你能发布完整的错误和完整的
product_fields部分吗? -
@JKen13579,当然刚刚发布
标签: ruby-on-rails ruby partials