Ruby Active Record Association - 从子表中获取列

时间:2012-12-22 22:47:52

标签: ruby activerecord

我有以下协会;

class Package < ActiveRecord::Base
  has_many : modules
end

class Module < ActiveRecord::Base
  belongs_to : package
end

我用它来从连接中获取记录;

@recs = Package.includes(:modules).where( 'name' => 'abc-pkg').all

但结果集@recs仅包含父表(包)列。如何获取子(模块)表的列?

PS:使用PostgreSQL 9.1和gem'pg'intata

谢谢。

1 个答案:

答案 0 :(得分:2)

这实际上是正确的。检查时,您不会在@recs变量中看到子列。 includes方法的要点是在迭代包并要求package.modules时避免其他查询。