遍历哈希响应并保存到数据库

问题描述

我有一个类似这样的哈希响应。

{
    "count": 1,"filters": {
        "status": [
            "FINISHED"
        ]
    },"competition": {
        "id": 2015,"name": "Ligue 1",},"matches": [
        {
            "id": 296861,"score": {
                "winner": "HOME_TEAM","fullTime": {
                    "homeTeam": 4,"awayTeam": 1
                },"homeTeam": {
                "id": 523,"name": "Olympique Lyonnais"
            },"awayTeam": {
                "id": 528,"name": "Dijon Football Côte d'Or"
            }
        }
    ]
}

我想对其进行迭代,并将选定的值保存到关联的模型中。 此刻,我只能在从api获得响应后,对特定的哈希键进行迭代。

match_array = response["matches"]
match_array.each do | value |
  MatchScore.create(winner: value["score"]["winner"])
end

我想要的是能够遍历响应哈希并保存一条记录,同时从其他哈希键传递值。例如;

MatchScore.create(winner: value["score"]["winner"],competition_id: competition[:id])

解决方法

您可以只使用response["competition"]["id"]

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...