2016-03-28 61 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值必須是允許的標量的值的數組地圖空陣列的關鍵。