选择辅助选择值和嵌套表单

时间:2010-12-06 20:54:34

标签: ruby-on-rails

我有一个嵌套的表单,例如:

<% form_for @invoice do |f| %>
 <%= render :partial => "invoice_item_fields", :locals => {:f => f} %>
<% end %>

和_invoice_items_fields:

<% f.fields_for :invoice_items do |builder| %>
 <%= link_to_remove_fields "remove", builder %>
 <%= builder.collection_select(:product_id, Product.all, :id, :name) %>
 <%= builder.text_field :quantity, :size => 4,%>
<% end %>

当我提交表单但未通过验证时,它会再次呈现新操作。事物是选定的值:product_id没有被记住,但是:数量是可以的。 我读到我应该在控制器中使用所选选项的值设置一个实例变量,然后执行以下操作:

<%= builder.collection_select(:product_id, Product.all, :id, :name, :selected => @selected_product) %>

但事情是应用程序可能有很多:invoice_items,所以我不知道该怎么做选择字段“记住”值。

感谢。

2 个答案:

答案 0 :(得分:0)

您可以发布您的控制器代码吗?我想看看你在哪里设置发票&amp; invoice_item字段以及您如何处理表单。我最近建了一张发票&amp; line_item应用程序,可能有一些想法... [抱歉,我无法发表评论,但未达到该权限级别。]

答案 1 :(得分:0)

我在另一篇文章中解决了这个问题。事情是我的product_id是和字符串而不是db级别的整数。