2012-04-13 66 views
0

我正在創建一個使用sinatra + mongoid的應用程序。我有兩個models,聯繫人有很多電話。爲了測試我的末日控制器我後我的數據與此命令`sinatra + mongoid

curl -X POST -d "contact[name]=nome&contact[email][email protected]&contact[phone][0][number]=88888888&contact[phone][0][type]=1&contact[phone][2][number]=77777777&contact[phone][3][type]=1" 

但是當我在MongoDB中做一個查詢我看到不保存預期。我需要那個電話班會用數組保存,但現在電話是一個散列,其中鍵是「0」,「1」,N像我的發佈數據。我該如何解決這個問題?我想數據被保存如此:

{ 
"_id":"4f889875b336e722a0000003", 
"email":"[email protected]", 
"github":"diegodfsd", 
"name":"diego2", 
"phone":{ 
"0":{ 
"number":"89311768", 
"type":"cellphone" 
}, 
"1":{ 
"number":"55555555", 
"type":"home" 
} 
}, 
"twitter":"diegodfsd" 
} 

gist

回答

1

你需要使用的,而不是手機

curl -X POST -d "contact[name]=nome&contact[email][email protected]&contact[phones_attributes][0][number]=88888888&contact[phones_attributes][0][type]=1&contact[phones_attributes][2][number]=77777777&contact[phones_attributes][3][type]=1" 
+0

這沒有改變什麼phones_attributes PARAMS。我希望將數據保存爲數組而不是散列。我需要保存:https://gist.github.com/2399768 – 2012-04-16 16:24:12