rails传递数组link_to

时间:2016-03-28 13:34:24

标签: ruby-on-rails params

我有一个链接

link_to 'To basket',order_items_path(order_item:{product_id:[31,32,36]})

想要向控制器发送一系列参数但已收到

未经许可的参数

   {"order_item"=>{"product_id"=>["31", "32", "36"]}, "controller"=>"order_items", "action"=>"create"}
"------"
  Order Load (0.3ms)  SELECT  "orders".* FROM "orders" WHERE "orders"."id" = $1 LIMIT 1  [["id", 10]]
Unpermitted parameter: product_id

但我有它

def order_item_params
   params.require(:order_item).permit(:quantity, :product_id,:size)
end

所以我的问题是如何正确发送参数数组?

1 个答案:

答案 0 :(得分:2)

您必须更改强大的params过滤,如下所示:

def order_item_params
   params.require(:order_item).permit(:quantity,:size, product_id: [])
end

Rails指南在第4.5.1 Permitted Scalar Values部分

中说
  

要声明params中的值必须是允许的标量值数组,请将键映射到空数组