在has_many关系中提取子对象的id

时间:2013-03-13 13:41:08

标签: ruby-on-rails activerecord

我有User型号,has_many张贴。我想查询用户的帖子列表。 但是,以下内容返回post对象数组,而不仅仅是id

@user.posts

ActiveRecord获取ID的方法是什么?我知道我可以使用

@user.posts.map{|u| u.id}

但我觉得效率低(返回post对象数组,然后提取ID)并且详细。

3 个答案:

答案 0 :(得分:7)

最好的方法是使用:

@user.post_ids

答案 1 :(得分:3)

@user.posts.pluck(:id)

我认为这应该抓住它们。

答案 2 :(得分:1)

Rails提供了一种方便的方法:

@user.post_ids

应该做你想做的事情