2013-11-28 1 views
3

Существует хэш групп, когда ключ хэша является именем некоторой группы, а значение хэша - это массив некоторых элементов. Я хочу, чтобы закодировать его в формат JSON, но я не могу название события кодирования ключа в хэш, потому что это не contanstant:Как кодировать хэш JSON с помощью JBuilder в Rails?

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

Может быть, вы предложите мне, как выполнить метод «JSON», используя динамическое имя?

ответ

4

Используйте array! method:

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

Edit: Для хэш-групп с названием каждой группы в качестве его ключа, выполните следующие действия:

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

Ваш ответ неверен, мне нужно сделать хэш массивов: {"type1": [...], "type2": [...]}. Можете ли вы привести пример? – malcoauri

+0

См. Редактирование. – isaach1000

 Смежные вопросы

  • Нет связанных вопросов^_^