Простой пользовательский ответ json jbuilder

Я хотел бы иметь возможность создать супер простую строку json с помощью jbuilder, поскольку она по умолчанию включена в rails 4.

Скажем, у меня есть категории current_project.categories.

На данный момент я использую эту конструкцию jbuilder, чтобы получить только названия категорий:

json.array! current_project.categories do |c|
  json.title c.title
end

Это генерирует следующий ответ:

[{"title":"Allgemeine Fragen"},{"title":"Dauerkarten"},{"title":"Heimspiele"},{"title":"Online-Ticketing"},{"title":"Rollstuhlfahrer"},{"title":"Auswärtsspiele"},{"title":"Busfahrten"},{"title":"Meine Kategorie"},{"title":"Meine neue Kat"}]

Было бы неплохо, если бы я мог сделать этот ответ json более простым, например:

["Allgemeine Fragen", "Dauerkarten", "Heimspiele", "Online-Ticketing", "Rollstuhlfahrer", "Auswärtsspiele", "Busfahrten", "Meine Kategorie", "Meine neue Kat"]

Как я могу выполнить это с помощью jbuilder?

Спасибо!


person Andre Zimpel    schedule 20.12.2013    source источник


Ответы (1)


Ты можешь использовать

json.array! current_project.categories.pluck(:title)

или расширенная версия

json.array! current_project.categories.map(&:title)

Первый более эффективен.

person Simone Carletti    schedule 20.12.2013
comment
Это не выщипывание, это то, как вы передаете аргумент в массив! Я обновил вопрос сравнением. - person Simone Carletti; 20.12.2013