如何在JSON中对状态和输出进行分组

时间:2017-08-04 16:05:45

标签: ruby-on-rails rabl

我正在创建一个Rails 5应用程序。 在这个应用程序中我得到了候选模型。每个候选人都有一个状态属性。 我想创建一个如下所示的JSON(Jbuilder)输出。含义我想将输出分组到每个候选者的Status属性上。

[{
        "total_entries": 1
    },
    {
        "entries": [{
            "pending": [{
                "id": 4,
                "name": "James Britain"
            }],
            "completed": [{
                "id": 4,
                "name": "James Britain"
            }, {
                "id": 4,
                "name": "Anna Tompson"
            }]
        }]
    }
]

我尝试了以下但是没有用。

Candidate.select('status, firstname').group('status, firstname')

请帮忙!

1 个答案:

答案 0 :(得分:0)

您必须使用group_by,并且根据您的数据库和rails版本,语法略有不同。提供这些将有助于确定答案,但这是最广泛的用例:

Candidate.select('status, firstname').group_by(&:status)