Doppelte Einträge filtern

Heute wollen wir euch eine Möglichkeit vorstellen um Datensätze / Arrayelemente von doppelten Einträgen zu befreien.
Um dies zu ermöglichen wird die Array-Klasse um eine weitere Methode erweitert und kann dann in einer beliebigen Ruby/Rails-App benutzt werden.

Dies ist die Erweiterung die benötigt wird.

require 'set'

class Array
  def uniq_by
    seen = Set.new
    select{ |x| seen.add?( yield( x ) ) }
  end
end

Danach könnt ihr eure Ergebnisse folgendermaßen filtern:

@uniqueposts = Posts.all.uniq_by { |h| h.body }

Eingestellt am 03.11.2009 um 08:00

Kategorie: Tutorials

Speichern / Merken / Weitersagen:
  • Print
  • PDF
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • LinkedIn
  • Live
  • MisterWong.DE
  • MisterWong
  • MySpace
  • Netvibes
  • Reddit
  • Technorati
  • Tumblr
  • Webnews.de
  • Yahoo! Bookmarks
  • Yigg
  • Slashdot
  • Twitter
  • Twitthis

Kommentare für diesen Artikel wurden geschlossen.