/ / rails jbuilder - tylko tablica ciągów - ruby-on-rails, tablice, json, jbuilder

szyny jbuilder - tylko tablica ciągów - ruby-on-rails, tablice, json, jbuilder

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 1

Trochę 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]