3

我有User模型,哪个has_many帖子。我想查询用户的帖子ID列表。但是,以下返回 post 对象数组,而不仅仅是id

@user.posts

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

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

但我认为它效率低下(返回帖子对象数组,然后提取 ID)并且冗长。

4

3 回答 3

8

最好的方法是使用:

@user.post_ids
于 2013-03-13T13:47:29.953 回答
3

@user.posts.pluck(:id)

我认为这应该抓住他们。

于 2013-03-13T13:44:13.607 回答
1

Rails 提供了一个方便的方法来做到这一点:

@user.post_ids

应该做你想做的

于 2013-03-13T13:47:58.693 回答