使用map方法格式化JSON输出 - Rails 3

Rob*_*t B 2 json ruby-on-rails ruby-on-rails-3

我对使用map方法缺乏了解.

使用没有映射的json输出

format.json  { render :json => @categories }
Run Code Online (Sandbox Code Playgroud)

给我以下输出

[{"created_at":"2012-10-20T01:16:35+11:00","id":1,"name":"bathroom renovations","updated_at":"2012-10-20T01:16:35+11:00"}]
Run Code Online (Sandbox Code Playgroud)

使用json与映射

format.json  { render :json => @categories.map(&:name) }
Run Code Online (Sandbox Code Playgroud)

给了我这个输出

["bathroom renovations"]
Run Code Online (Sandbox Code Playgroud)

如何让我的输出看起来像

[{"id":"1","name":"bathroom renovations"}]
Run Code Online (Sandbox Code Playgroud)

Hun*_*der 6

我认为以下内容对您有用:

  format.json {render json: @categories.map{|category| {:id => category.id, :name =>  category.name} }}
Run Code Online (Sandbox Code Playgroud)