RailsのActiveRecordにidsメソッドが生えてた

こんにちは!kossyです!




さて、今回はActiveRecordにidsメソッドの使い方について、
ブログに残してみたいと思います。




環境
Ruby 2.6.3
Rails 6.0.3
MacOS Catalina



まずはドキュメントを見る

なにはともあれまずはAPIドキュメントをみてみます。

Pluck all the ID's for the relation using the table's primary key

Person.ids # SELECT people.id FROM people
Person.joins(:companies).ids # SELECT people.id FROM people INNER JOIN companies ON companies.person_id = people.id

# File activerecord/lib/active_record/relation/calculations.rb, line 220
def ids
pluck primary_key
end

出典: https://api.rubyonrails.org/classes/ActiveRecord/Calculations.html#method-i-ids

pluckメソッドを利用してprimary_keyを集めた配列を返すメソッドです。

このメソッドを利用することで、

Person.pluck(:id)

と書いたところを、

Person.ids

のように書くことができます。




勉強になりました。