如何在Rails中使用JBuilder编码JSON哈希?

时间:2013-11-28 10:13:23

标签: ruby-on-rails jbuilder

当散列的键是某个组的名称时,存在'groups'散列,散列的值是某些项的数组。我想将它编码为JSON,但我不能在hash中对key的名称进行编码,因为它不是contanstant:

x = Jbuilder.encode do |json|
  groups.each do |k, v|     
    json.set!(:group, k)
    json.group k    
  end
end

您可以建议我如何使用动态名称执行'json'的方法吗?

1 个答案:

答案 0 :(得分:4)

使用array! method

json.array!(groups) do |json, group|
    json.set!(group.name, array)
end

修改:对于以每个组的名称为键的组的哈希,请执行以下操作:

groups.each do |group|
    json.set!(group.name, array)
end