26

我有一个控制器,它返回一个 ActiveRecord 对象数组和一个 jbuilder 视图来生成 json(所有标准的东西)。如果我想要一个哈希数组,效果很好。

所以例如我有:

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

返回

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

但是,我只想要一个字符串数组;这样我的json是

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

我的 jbuilder 文件应该是什么?

4

2 回答 2

58

有点晚了,但这会起作用:

json.array! @list

但是考虑在一个块中使用它来创建一个 JSON 对:

json.data do
  json.array! @list  
end

# => { "data" : [ "item1", "item2", "item3" ] }
于 2013-05-21T20:27:38.120 回答
5

如果您希望 Array 作为某个键的值,这将起作用:

json.some_key [1, 3, 4]
于 2015-12-21T08:27:45.727 回答