0

我有一个视图文件 photo_feed.html.erb 使用以下内容打印我需要的内容:

<% @photo_feed.each do |feed| %>

<%= feed.id %>
<%= feed.username %>
<%= feed.photo_filename %>
<%= feed.comments_count %>
<%= feed.comments.map{|x| [x.username, x.comment]} %>

<% end %>

这有效,并在每张照片的数组数组中输出评论。

现在我的目标是使用 jbuilder 在 json 中输出它,我不知道如何打印数组。

json 输出应类似于:

[{"id":1,"username":"bob","photo_filename":"img.jpg","comments_count":2,[["username":"ted","comment":"你好,你这个朋克。"]["username":"carl","comment":"Angry."]]},{"id":2,"username":"lisa","photo_filename":"img2.jpg" ,"comments_count":1,[["username":"roger","comment":"Blah."]]}

所以我的问题是:如何在 json.jbuilder 文件中打印关联的映射数据?

4

1 回答 1

0

应该是这样的:

json.array!(@photo_feed) do |feed|
  json.extract! feed, :id, :username, :photo_filename, :comments_count
  json.comments feed.comments do |json, comment|
    json.(comment, :username, :comment)
  end
end

看看这个 railscast - http://railscasts.com/episodes/320-jbuilder

于 2013-11-03T16:37:12.833 回答