Rails - Array#uniq使いたいのにActiveRecord::QueryMethods#uniqが呼ばれてしまう
たとえばシルバ作の本で、タイトルの一文字目が一緒だったら同じ本とみなすような不可解な取り方をしたいとき、
books = Book.where(author: "シルバ") books.uniq{|book| book.title.first}
こうすると遅延評価の影響でuniqがSQLのdistinctとみなされてしまう
しょうがないからuniqを自分で行うことにした
books_hash = {} Book.where(author: "シルバ").each do |book| books_hash[book.title.first] = book end books_hash.values