从连接的两个表中获取ID ActiveRecord_AssociationRelation

时间:2015-12-14 14:34:06

标签: ruby-on-rails activerecord rails-activerecord

假设我加入了两个表格ActiveRecord_AssociationRelationjoined,我获得了名为users的{​​{1}}。 我想从用户和帖子中选择ID,并通过调用posts将它们转换为哈希。 基本上我想做这样的事情:

as_json

上面的代码只返回select方法中提到的最后一个id参数(第一种情况下的post id和注释情况下的用户id)。

我想知道是否可以获得两个ID,或者Rails的约定优于配置原则是否限制我们以这种方式获取两者(例如,我们可能会返回:user_id列)?

2 个答案:

答案 0 :(得分:1)

只需使用:

joined.pluck('users.id','posts.id')

它会返回类似的内容:

 => [[1, 97], [2, 97], [3, 97]]

答案 1 :(得分:0)

可以这样做:

joined.to_a.map{ |j| { user_id: j['users.id'], post_id: j['posts.id']} }