2016-03-28 60 views
0

我有一个链接轨传递数组的link_to

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

要发送则params的数组位指示,但已收到

未经许可参数

{"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 

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

回答

2

你必须改变强PARAMS过滤象下面这样:

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

滑轨引导说,在部分4.5.1 Permitted Scalar Values

要声明在PARAMS值必须是允许的标量的值的数组地图空阵列的关键。