Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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 如何获取关系为哈希的模型?_Ruby On Rails_Ruby On Rails 4_Activerecord_Rails Activerecord - Fatal编程技术网

Ruby on rails 如何获取关系为哈希的模型?

Ruby on rails 如何获取关系为哈希的模型?,ruby-on-rails,ruby-on-rails-4,activerecord,rails-activerecord,Ruby On Rails,Ruby On Rails 4,Activerecord,Rails Activerecord,我想要我的Post模型的散列表示,并将posts的相关注释作为散列数组包含在内 我的模型: class Post < ActiveRecord::Base has_many :comments end class Comment < ActiveRecord::Base belongs_to :post end 我尝试过的东西(只会返回帖子,但不会返回相关评论: Post.includes(:comments).as_json Post.eager_load(:comme

我想要我的
Post
模型的散列表示,并将posts的相关注释作为散列数组包含在内

我的模型:

class Post < ActiveRecord::Base
  has_many :comments
end

class Comment < ActiveRecord::Base
  belongs_to :post
end
我尝试过的东西(只会返回帖子,但不会返回相关评论:

Post.includes(:comments).as_json
Post.eager_load(:comments).as_json

您可以尝试以下操作:

Post.as_json(include: :comments)

恐怕这就是ActiveRecord为您所做的:2个请求。 一个用于父对象,一个用于子对象


尝试使用联接创建SQL代码,并将其定向到对象,然后在生成的对象上作为_json运行。

您是否阅读了。它有很好的文档记录,并且涵盖了这个确切的主题。这是可行的,但当只需要一个SQL查询时,它似乎会进行两个SQL查询。
Post.as_json(include: :comments)