问题:产品型号ID不会输入UserProduct型号。
控制器:
UserProduct创建:
def create
@user_product = UserProduct.new(user_product_params)
@product = Product.find(params[:product_id])
@user_product.product_id = @product.id
.......
表格:
<%= form.collection_check_boxes(:product_id, Product.all, :id, :sku) do |c| %>
<%= c.label class:"form-check-inline" do %>
<%= c.check_box + c.text %>
<% end %>
<% end %>
这会在前端显示Products:sku,但ID不会通过。
输入错误如下:
Couldn't find Product without an ID
型号:
UserProduct:
has_and_belongs_to_many :products
产品:
....
has_and_belongs_to_many :user_products
....
据我了解,这不能是嵌套的资源,因为UserProduct模型应该从Product模型中挑选产品,然后附加到UserProducts上。因此,基本上,App上有可用的产品列表,然后用户可以从这些产品中进行选择,以输入其UserProduct模型。
我的代码有什么问题吗?如何通过选择下拉菜单中的ID进行传递?
答案 0 :(得分:0)
collection_check_boxes
传递ID数组。如果只需要一个,请尝试使用collection_select
。