我有一个嵌套的哈希,我是从前一个问题Nested group query in 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
由于
答案 0 :(得分:0)
没有这样的结构:
{ 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
}
]
}
]
}
]
}