2012-04-09 1 views
0

ich das "naturalsorter" Juwel bin mit durch ein Array von Elementen (Active Objects) CodeMit Naturalsorter Juwel am Modell in Rails

auf dem Controller zu sortieren:

@items = Item.all 
@items = Naturalsorter::Sorter.sort_version_by_method(@items, :code) 

aber ich muß Refaktorieren Sie dies und setzen Sie die Sortiermethode auf das Modell

Hallo! Ich habe versucht:

class Item < ActiveRecord::Base 
    def self.by_code 
     Naturalsorter::Sorter.sort_version_by_method(self, 'code') 
    end 
end 

Aber ich bin sicher, dass dies nicht der Weg ist ... So bekomme ich

undefined method `sort_by_code' for #<Array:0x007ff0b4c431d0> 

Eine Idee? Vielen Dank!

wie diese
Naturalsorter::Sorter.sort_version_by_method(self, 'code') 

etwas:

+0

Benötigen Sie dies für jede Teilmenge von 'Items' oder wird das Argument für' sort_version_by_method' immer 'Item.all' sein? –

+0

Ja, ich brauche das, um mit Subsets zu arbeiten .. eigentlich arbeite ich mit ItemGroup.items ... deshalb muss ich refactor ... – matreyes

Antwort

0

Vielleicht sollten Sie diese Zeile ändern

Naturalsorter::Sorter.sort_version_by_method(self.all, :code) 

Aber ich habe es nicht versucht!

+0

Mein Tutor !!! Hallo Blat !. Ich bekomme immer noch den Fehler .. Ich bin mir nicht sicher, warum ich diese undefinierte Methode 'sort_by_code 'bekomme. .. irgendeine Idee? – matreyes