Uniq by object attribute in Ruby

sutee picture sutee · Sep 21, 2008 · Viewed 54.9k times · Source

What's the most elegant way to select out objects in an array that are unique with respect to one or more attributes?

These objects are stored in ActiveRecord so using AR's methods would be fine too.

Answer

Lane picture Lane · Apr 10, 2012

Use Array#uniq with a block:

@photos = @photos.uniq { |p| p.album_id }