我正在使用collection_select
将param product_id
从视图传递给控制器,但是我在获取该值时遇到了问题。其他参数都很好。如果我执行aux = params[:product_id]
之类的操作,它会保存值0而不是1,这是控制器收到的值,如您在请求日志中看到的那样。任何帮助将不胜感激!
PS:我认为它可能与你在product_id参数周围可以看到的花括号有关,正如你在请求日志中看到的那样
<%= collection_select(:params, :product_id, Product.all, :id, :name, :prompt => true) %>
Parameters:
{"utf8"=>"✓",
"authenticity_token"=>"hE4qrSZnI8LLy6sNzR2fkRxKZpFoOHZLun6Z/cIsHDxGcCaC+zVPLk1qYFhf6iuhbmsZX0us75FIiqJ7c06Mxw==",
"params"=>{"product_id"=>"1"},
"quantity"=>"1",
"event_id"=>"5",
"commit"=>"GO!",
"method"=>"post"}
答案 0 :(得分:1)
您正在真实params
内发送密钥params
,以便访问您的值,如下所示:
params[:params][:product_id]
或使用:
collection_select(:object, :product_id, Product.all, :id, :name, prompt: true)
获取params中的product_id