-3

Railsでのネストされたグループクエリの以前の質問から作成したネストされたハッシュがあります

現在のハッシュは次のとおりです。

   {14=>{11=>{21=>7, 22=>8}, 4=>{21=>7, 22=>4}}, 16=>{5=>{25=>2, 26=>1}, 11=>{26=>2, 25=>5}} }

このデータをjavascriptに渡したいのですが、次のように各属性/モデルにキー名を付けるのが最善だと思います:

   { question_id: 14=>{ club_id: 11=>{ choice_id: 21=>7, choice_id: 22=>8} etc etc}

私の質問は、Rails のデータを Javascript に渡すベスト プラクティスでしょうか、それともコントローラーの json 変数からこれを行う方がよいでしょうか。

私が試みているアプローチがうまくいく場合、最初のクエリから属性名としてキー名をハッシュに設定する方法はありますか?

Answer.where(:question_id => 14).group(:club_id, :choice_id).count

ありがとう

4

1 に答える 1

0

そのような構造はありません:

 { question_id: 14 => { club_id: 11 => { choice_id: 21 => 7, choice_id: 22 => 8 }

ハッシュ値を別の値に関連付けようとしていますが、これは無効な構造です。データのセマンティック構造 (カウントと ID の実際の関係を相互に反映する構造を意味する) を実現して、ブラウザーにデータを渡す方法の 1 つはJSON、次のようなハッシュを作成することです。

{ questions: [
  { 
    id: 14,
    clubs: [
      {
        id: 11,
        choices: [
          {
            id: 21,
            count: 7
          },
          {
            id: 22,
            count: 8
          }
        ]
      }
     ]
   }
 ]
}
于 2013-09-01T18:02:49.287 に答える