背景
データを取り出すメソッドとして「pluckメソッド」「mapメソッド」があります。
その2つをもう少し詳しく知りたかったので調べて簡単に解説します。
pluckメソッドとは
pluckはRailsでデータベースからデータを取り出すメソッド。
pluckではデータは配列として取り出され、指定したカラムが2つ以上の場合は、配列の配列になる。
モデル.pluck(カラム名)
##使い方
#1.データ作成
User.create(name:"広瀬すず")
User.create(name:"新垣結衣")
User.create(name:"浜辺美波")
#2.pluckメソッドを使って,nameのカラムの値を取り出す
User.pluck(:name)
# => ["広瀬すず", "新垣結衣", "浜辺美波"]
###問題点と解決法
以下のように記述してしまうと、配列の形のまま出力されてしまう。
<%= User.pluck(:name) %>
# =>["広瀬すず", "新垣結衣", "浜辺美波"]
joinメソッドをチェーンさせることで解決できる。
<%= User.pluck(:name).join(" ") %>
# =>広瀬すず 新垣結衣 浜辺美波
##mapメソッドとは
各要素へ順に処理を実行してくれるメソッド。
配列変数.map {|変数名| 具体的な処理 }
※ちなみに「.map!」とすることで破壊的メソッドというものになり、値を上書き保存してくれるようになります。