3

私はUserモデルを持っています、それはhas_many投稿します。ユーザーによる投稿のIDのリストを照会したいと思います。ただし、以下は、単にではなく、投稿オブジェクトの配列を返しますid

@user.posts

IDだけを取得するActiveRecordの方法は何でしょうか?私は私が使うことができることを知っています

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

しかし、それは非効率的であり(postオブジェクトの配列を返し、次に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 に答える