2016-09-18 301 views
1

我想從params哈希值中提取用POST表單提取的idquantity密鑰的值。Ruby On Rails:如何從POST請求中提取嵌套參數

參數:

params 
# => {... 
    "form"=> 
     {"name"=>"joe", 
     "date_sent"=>"09/28/2016", 
     "emp_num"=>"54552452", 
     "items_attributes"=>{"1474227471986"=>{"id"=>"3", "quantity"=>"5", "_destroy"=>"false"}, "1474227474062"=>{"id"=>"4", "quantity"=>"3", "_destroy"=>"false"}}, 
     "comments"=>"af", 
     "accepted"=>"false"}, 
    "commit"=>"Submit", 
    "m"=>"true"} 
+0

你有什麼碼?嵌套散列是Ruby的一個非常基本的功能。 –

回答

1

在下面的方式,你可以抓住ID數量的所有嵌套項屬性。

params['form']['items_attributes'].values.collect { |value| { id: value['id'], quantity: value['quantity'] } } 

輸出:

[ {:id => 3, :quantity => 5 }, { :id => 4, :quantity => 3 } ] 
+0

PERFECTO !!!謝謝!! – myhouse

+0

我真的需要每個循環的'鑰匙'嗎?我沒有使用它。 – myhouse

+0

@MarcosIcaza我已經更新了我的答案只使用值。 – Aamir