【问题标题】:sinatra + mongoid西纳特拉 + 蒙古人
【发布时间】:2012-04-13 22:42:04
【问题描述】:

我正在创建一个使用 sinatra + mongoid 的应用程序。我有两个models,联系人有很多电话。为了测试我的 sinatra 控制器,我使用这个命令发布我的数据 `

curl -X POST -d "contact[name]=nome&contact[email]=email@dominio.com&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":"diego.dias2@dominio.com.br",
"github":"diegodfsd",
"name":"diego2",
"phone":{
"0":{
"number":"89311768",
"type":"cellphone"
},
"1":{
"number":"55555555",
"type":"home"
}
},
"twitter":"diegodfsd"
}

gist

【问题讨论】:

    标签: sinatra mongoid


    【解决方案1】:

    您需要使用phones_attributes 参数而不是phone

    curl -X POST -d "contact[name]=nome&contact[email]=email@dominio.com&contact[phones_attributes][0][number]=88888888&contact[phones_attributes][0][type]=1&contact[phones_attributes][2][number]=77777777&contact[phones_attributes][3][type]=1"
    

    【讨论】:

    • 这没有任何改变。我想将我的数据保存为数组而不是哈希。我需要这样保存:gist.github.com/2399768
    猜你喜欢
    • 2015-09-15
    • 2010-12-14
    • 2015-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多