这是我的部分:
<%= form_for(item, :url => update_cart_path) do |item_form| %>
<tr>
<% @variant = item.variant %>
<%= hidden_field(:variant, :id) %>
<td width="300"><%=item.variant.product.name%> <%= "(" + variant_options(item.variant) + ")" unless item.variant .option_values.empty? %></td>
<td class="price"><%= number_to_currency item.price %></td>
<td class="qty"><%=item.quantity%></td>
<td class="total"><span><%= number_to_currency (item.price * item.quantity)%></span></td>
<td class="edit"><%= link_to(image_tag('/images/admin/icons/edit.png'), '#', :class => 'edit') %>
</td>
</tr>
<% end %>
我称之为:
<%= render :partial =>'shared/cart/line_item' , :collection => @order.line_items, :as => :item %>
我必须为hidden_field创建一个局部变量@variant才能工作,并且因为在控制器中创建它没有任何意义,我在视图中创建了实例局部变量。 有更好的设计吗?
答案 0 :(得分:0)
如果您只是为hidden_field
帮助程序执行此操作,则可以使用hidden_field_tag
代替:
<%= hidden_field_tag('variant', item.variant.id) %>