2017-08-04 16 views
1

Rails 5アプリを作成しています。 このアプリで私は候補モデルを得た。各候補にはステータス属性があります。 以下のようなJSON(Jbuilder)出力を作成したいとします。意味私は各候補のステータス属性に出力をグループ化したい。JSONでステータスと出力をグループ化する方法

[{ 
     "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') 

助けてください!

答えて

0

group_byを使用する必要があります。構文は、データベースとレールのバージョンによって多少異なります。これらを入力すると答えが得られますが、これは最も広い用途です:

+0

うまく働いた!しかし1つの問題。それは配列を出力し、私のJbuilder(私は間違っていたRablを使用していない)コードはそれを処理できません。私は#のために未定義のメソッド 'id 'を得る。 –

+0

あなたはselectステートメントにidを追加する必要がありますか?多分 'Candidate.select( 'id、status、firstname')のように。group_by(&:status)'これは? –

関連する問題