[Ruby]pluckメソッド


書き方

@post = Post.pluck(:id,:title)

pry: @post
=> [[1,abc], [2,cde], [3,efg], ...]

下記ようにPostモデル内のtitleカラムを一覧表示することができる。

Post.pluck(:title)
=> ["Tote",
 "Bag",
 "Baseball Jersey",
 "Jr.Spaghetti",
 "Ringer T-Shirt",
 "Ruby Baseball Jersey",
 "Apache Baseball Jersey",
 "Mug",
 "Stein"]

また、このように第二引数を設定することも可能。

Post.pluck(:id,:title)
=> [[1, "Tote"],
 [2, "Bag"],
 [3, "Baseball Jersey"],
 [4, "Jr. Spaghetti"],
 [5, "Ringer T-Shirt"],
 [6, "Ruby Baseball Jersey"],
 [7, "Apache Baseball Jersey"],
 [8, "Mug"],
 [9, "Stein"]]

ちなみに下記は同じ意味のコード

Post.select(:id, :title).map { |c| [c.id, c.title] }

シンプルに出来る

参考
https://qiita.com/k-o-u/items/31e4a2f9f5d2a3c7867f