我有一个链接
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
所以我的问题是如何正确发送参数数组?
答案 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中的值必须是允许的标量值数组,请将键映射到空数组。