如何接受哈希参数

时间:2014-07-11 00:24:21

标签: ruby-on-rails ruby-on-rails-4 parameters parameter-passing

以下是传递的参数:

{"utf8"=>"✓",
 "authenticity_token"=>"j3R0aro/Arg4Y3Zu6zIIxZYbYTxqoqyKEGc11CkvYDU=",
 "inventory"=>{
   "9"=>"0",
   "12"=>"0",
   "1"=>"0",
   "2"=>"0",
   "3"=>"0",
   "10"=>"0",
   "11"=>"0",
   ...
 }
}

我似乎无法抓住inventory中的参数,无论出于何种原因,下面的代码一直希望将库存作为一长串哈希而不是哈希本身。我做错了什么?

def inventory_params
  params.permit(inventory: [{:itemlist_id => :quantity}] )
  @inventory_params = params.reject { |k, v| (v == "") || ( v == "0" ) }
end

我也尝试过params.permit(inventory: {:itemlist_id => :quantity} )无效

2 个答案:

答案 0 :(得分:0)

params.require(:model_name).permit(:inventory) 

我会猜测。

答案 1 :(得分:0)

最终结果如何:

params["inventory"]