Ruby on rails 将api响应中的值分配给RAILS中的特定模型对象
我有一个Ruby on rails 将api响应中的值分配给RAILS中的特定模型对象,ruby-on-rails,ruby,model,Ruby On Rails,Ruby,Model,我有一个联系人模型,它有三个属性: 姓名、电子邮件、身份证 name和email都存在,但id为空 我使用name和email通过API Post调用传入,这是我得到的回复: {"count": 1, "next": null, "previous": null, "results": [ {"id": 8067950, "name": "Bill","email": "test@test.com"}]} 我的循环如下所示: contacts_array.each do |contact|
联系人
模型,它有三个属性:
姓名、电子邮件、身份证
name
和email
都存在,但id
为空
我使用name
和email
通过API Post调用传入,这是我得到的回复:
{"count": 1, "next": null, "previous": null, "results": [
{"id": 8067950, "name": "Bill","email": "test@test.com"}]}
我的循环如下所示:
contacts_array.each do |contact|
api_call(contact.name, contact.email)
end
contacts\u array
是一个ruby对象数组,即Contact
模型。在该循环中,我如何分配响应id
I get back to the contact in theapi_call
?我真的不理解您的人
和联系人
模型之间的区别,但我假设他们是同一个模型
通常,您应该知道,在rails中自己处理名为id
的字段是个坏主意。如果您坚持存储调用返回的id,那么您应该将其存储在另一个字段中,例如api\u id
下面是一段代码,如果api\u call
返回一个与您的问题类似的Ruby哈希,那么它应该可以正常工作
contacts_array.each do |contact|
contact.api_id = api_call(contact.name, contact.email)['results'].first['id']
end
那么您的
api\u调用
调用返回字符串或Ruby哈希?