rails jbuilder - just an array of strings

yee379 picture yee379 · May 8, 2013 · Viewed 20.2k times · Source

i have a controller that returns an array of ActiveRecord objects and a jbuilder view to generate the json (all standard stuff). works great if i want for example an array of hashes.

so for example i have:

json.array!(@list) do |l|
    json.( l, :field )
end

which returns

[
  { "field": "one" },
  { "field": "two" },
  { "field": "three" }
]

however, i want just an array of strings; such that my json is

[
  "one",
  "two",
  "three"
]

whats should my jbuilder file be?

Answer

irmakcanozsut picture irmakcanozsut · May 21, 2013

A bit late but this will work:

json.array! @list

But consider to use it in a block to create a JSON pair:

json.data do
  json.array! @list  
end

# => { "data" : [ "item1", "item2", "item3" ] }