Mam kontroler, który zwraca tablicę obiektów ActiveRecord i widok jbuildera, aby wygenerować json (wszystkie standardowe rzeczy). działa świetnie, jeśli chcę na przykład tablicę skrótów.
więc na przykład mam:
json.array!(@list) do |l|
json.( l, :field )
end
który wraca
[
{ "field": "one" },
{ "field": "two" },
{ "field": "three" }
]
jednak chcę tylko tablicę ciągów znaków; taki jest mój json
[
"one",
"two",
"three"
]
czym powinien być mój plik jbuildera?
Odpowiedzi:
41 za odpowiedź nr 1Trochę późno, ale to zadziała:
json.array! @list
Ale zastanów się, czy użyć go w bloku, aby utworzyć parę JSON:
json.data do
json.array! @list
end
# => { "data" : [ "item1", "item2", "item3" ] }
4 dla odpowiedzi nr 2
Jeśli chcesz, aby Array był wartością dla jakiegoś klucza, to zadziała:
json.some_key [1, 3, 4]