我有一个订单表格,用户必须选择一个类别然后关联产品。因为我希望它是动态的,所以我写了这个:
_form.html.erb
<%= form_for(@order) do |f| %>
<%= f.collection_select :category_id, @categories_list, :id, :name, :prompt => "Selectionner" %>
<%= render :partial => 'products' %>
<%= f.submit 'Enregistrer', :class=>'button add'%>
<% end %>
_products.html.erb:
<%= form_for(Order.new, :remote => true) do |f| %>
<% if !@products.blank? %>
<%= f.label 'Produit :' %><br />
<%= f.select :product_id, @products.collect{ |s| [s.name,s.id]}, :prompt => "Selectionner" %>
<% else %>
<%= f.label 'Produit :' %><br />
<%= f.select :product_id, '' %>
<% end %>
<% end %>
在控制器中:
def update_product_select
@products = Product.where(:category_id=>params[:id]).order(:name) unless params[:id].blank?
render :partial => "products", :layout => false, :locals => { :products => @products }
end
对于动态部分,它可以工作。但是当我点击提交按钮时,没有发送产品ID!
你能告诉我如何将动态菜单和表单提交结合起来吗?
谢谢。