Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 选择帮助器选定值和嵌套表单_Ruby On Rails - Fatal编程技术网

Ruby on rails 选择帮助器选定值和嵌套表单

Ruby on rails 选择帮助器选定值和嵌套表单,ruby-on-rails,Ruby On Rails,我有一个嵌套表单,如: <% form_for @invoice do |f| %> <%= render :partial => "invoice_item_fields", :locals => {:f => f} %> <% end %> “发票\项目\字段”,:局部变量=>{:f=>f}%> 和_发票_项目_字段: <% f.fields_for :invoice_items do |builder| %> &l

我有一个嵌套表单,如:

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

“发票\项目\字段”,:局部变量=>{:f=>f}%>
和_发票_项目_字段:

<% 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 %>

4,%>
当我提交表单但它没有通过验证时,它会再次呈现新操作。问题是:product_id的选择值不被记住,但:quantity是ok。 我了解到,我应该在控制器中使用所选选项的值设置一个实例变量,然后执行以下操作:

<%= builder.collection_select(:product_id, Product.all, :id, :name, :selected => @selected_product) %>
@所选产品)%>
但问题是应用程序可能有很多:invoice\u项,所以我不知道如何处理select字段“memory”的值


谢谢。

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

我在另一篇文章中解决了这个问题。问题是我的产品id在db级别是and字符串而不是and整数。

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