假设我有以下三个对象:
class Filing < ActiveRecord::Base
belongs_to :company
has_many :people , :dependent => :destroy
end
class Company < ActiveRecord::Base
has_many :filings
end
class Person < ActiveRecord::Base
belongs_to :filing
end
我正在尝试发出一个返回文件及其关联公司的请求以及包含其关联人员的数组。这用于 GETfiling/:id 的 API 请求
我看到了 joining tables with ActiveRecord 上的文档,但是当我运行以下查询时:
Filing.joins(:people,:company)
结果集中似乎不包括关联的人员或公司。如果关联的数据不会返回,我对为什么要进行联接感到有点困惑。我在这里缺少什么?我应该运行什么查询?
更新
正如评论中提到的。我希望能够生成以下输出:
{ "filing" => { "filing_id" => 123, "company" => { ... }, "people" => [{"person_id" => 1}, {"person_id" => 2}] } }
最佳答案
在评论者的帮助下,我最终找到了答案。需要调用的是:
Filing.find( id , :include => [:company,:people] )
关于ruby-on-rails - 如何使用 ActiveRecord 返回 Rails 中关联的模型对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13459000/