将哈希数据传递给javascript

Passing hash data to javascript

本文关键字:javascript 哈希 数据      更新时间:2023-09-26

我有一个嵌套的散列,我从之前的一个问题中创建的。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

感谢

没有这样的结构:

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

您正试图将哈希值与其他值相关联,这是一个无效的结构。为数据实现语义结构(即反映计数和id之间实际关系的结构),以便通过JSON将其传递给浏览器的一种方法是构建如下哈希:

{ questions: [
  { 
    id: 14,
    clubs: [
      {
        id: 11,
        choices: [
          {
            id: 21,
            count: 7
          },
          {
            id: 22,
            count: 8
          }
        ]
      }
     ]
   }
 ]
}