【Rails】配列から重複を削除して表示するには?

ブログを書いている人 Ruby、Ruby on Rails

ブログを書いている人

こんなテーブルがあったとします。

title headline content
book1 自己啓発 アウトプットする
book1 ストレス解消 よく寝る
book2 レシピ カレー

 

どんな本に何が書いてあったのかを保存しているテーブルと仮定。

 

この時、保存している本のtitleを重複無しでずら〜っと並べるにはどうすれば良いか?

(一対多のアソシエーションは使用しない前提で)

 

とすると、

book1
book1
book2

が取り出されてしまいます。

スポンサーリンク

pluckとuniqを使用する

結論から言うと、以下の方法で重複無しで配列を取得出来ました。

調べた限りでは、

  • pluck(:title)でtitleカラムの配列を取得
  • uniqで重複を削除した配列を作成

と言うことをやっているようです。

これで、

book1
book2

と表示されるようになりました。

余談

これではうまく取り出せず。

これでやっても最初と同じで、重複した値が並べられました。

多分ですが、

uniqは配列から重複を削除するとあるので、最初にtitleカラムの配列を用意しておく必要があるからかなぁと思っております。

 

コメント

タイトルとURLをコピーしました