Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails—构建包含多个项的JSON对象_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails Rails—构建包含多个项的JSON对象

Ruby on rails Rails—构建包含多个项的JSON对象,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,目前,我正在创建一个JSON对象,如下所示: @comments = Array.new comments.collect do |comment| @comments << { :id => comment.id, :content => html_format(comment.content), :created_at => comment.created_at } end @comments.to_json 这会返回如下结

目前,我正在创建一个JSON对象,如下所示:

@comments = Array.new

comments.collect do |comment|
  @comments << {
    :id => comment.id,
    :content => html_format(comment.content),
    :created_at => comment.created_at
  }
end

@comments.to_json
这会返回如下结果:

[{"created_at":"2011-03-02T09:17:27-08:00","content":"<p>Random.......</p>","id":734}, {"created_at":"2011-03-02T09:17:27-08:00","content":"<p>asdasd.......</p>","id":714}, {"created_at":"2011-03-01T09:17:27-08:00","content":"<p>Random.......</p>","id":134}, {"created_at":"2011-03-01T02:17:27-08:00","content":"<p>dasdasdasdasd.......</p>","id":3124}]
[comments: {"created_at":"2011-03-02T09:17:27-08:00","content":"<p>Random.......</p>","id":734}, {"created_at":"2011-03-02T09:17:27-08:00","content":"<p>asdasd.......</p>","id":714}, {"created_at":"2011-03-01T09:17:27-08:00","content":"<p>Random.......</p>","id":134}, {"created_at":"2011-03-01T02:17:27-08:00","content":"<p>dasdasdasdasd.......</p>","id":3124}, last_load: "123123123123", last_view: "zxczcxzxczxc"]
这里的问题是,我需要包括一些其他不是数组的项。我希望JSON对象看起来像这样:

[{"created_at":"2011-03-02T09:17:27-08:00","content":"<p>Random.......</p>","id":734}, {"created_at":"2011-03-02T09:17:27-08:00","content":"<p>asdasd.......</p>","id":714}, {"created_at":"2011-03-01T09:17:27-08:00","content":"<p>Random.......</p>","id":134}, {"created_at":"2011-03-01T02:17:27-08:00","content":"<p>dasdasdasdasd.......</p>","id":3124}]
[comments: {"created_at":"2011-03-02T09:17:27-08:00","content":"<p>Random.......</p>","id":734}, {"created_at":"2011-03-02T09:17:27-08:00","content":"<p>asdasd.......</p>","id":714}, {"created_at":"2011-03-01T09:17:27-08:00","content":"<p>Random.......</p>","id":134}, {"created_at":"2011-03-01T02:17:27-08:00","content":"<p>dasdasdasdasd.......</p>","id":3124}, last_load: "123123123123", last_view: "zxczcxzxczxc"]
关于如何利用上面的内容并扩展它以传递除注释数组之外的其他项,有什么想法吗


谢谢大家!

将列表添加到哈希中,然后在哈希上调用_json

> a = [1,2,3]
 => [1, 2, 3] 
> h = {:comments => a, :foo => "bar"}
 => {:foo=>"bar", :comments=>[1, 2, 3]} 
> h.to_json
 => "{\"foo\":\"bar\",\"comments\":[1,2,3]}" 

我会保留@comment数组,并在其中添加我需要的任何内容。然后调用_json。