1

人为的例子:

ActiveAdmin.register Something do
  # stuff

  controller_action :sad_trombone, :method => :get do
    render :json => ["wah", "wah", "wahhh"]
  end
end

我打了/admin/somethings/sad_trombone。我得到的 JSON 响应如下所示:

{ somethings: ["wah", "wah", "wahhh"] }

虽然我很欣赏方便、自动的somethings命名空间,但我只需要我的sad_trombone控制器返回一个普通数组,如下所示:

["wah", "wah", "wahhh"]

我怎么做?

如果有用,我正在使用:

activeadmin (0.6.0)
rails (3.2.13)

(这只是一个用于说明目的的简化示例。)

4

1 回答 1

3

找到了解决方案:

render :json => ["wah", "wah", "wahhh"], :root => false

:root => false选项指示 Rails包含根 JSON 对象——换句话说,只是您希望在响应中返回的纯数据结构。


如果对后代有帮助:

有(至少)另外两种,但更广泛的方法来实现这一点:

ActiveRecord.Base.include_root_in_json = false

和:

my_model.to_json(:root => false)
于 2013-06-03T20:56:00.130 回答