Wie sortiere ich in ruby ​​/ rails einen Datumswert, bei dem das Datum manchmal null sein kann?

8

Ich möchte meine Spiele nach game_date sortieren, aber manchmal kann das Spieldatum Null sein, und ich werde eine Ausnahme bekommen: undefinierte Methode 'to_datetime' für nil: NilClass

%Vor%

Irgendeine gute Möglichkeit, das zu tun?

    
Kamilski81 05.01.2012, 05:39
quelle

2 Antworten

21

Wenn Sie nur Einträge ohne Datum löschen möchten, einfachste Lösung -

%Vor%

Das Hinzufügen von Nils am Ende kann mit

erfolgen %Vor%

Wenn Sie die Bandbreite der möglichen Daten kennen, können Sie mit etwas wie

zufrieden sein %Vor%

BTW, reduzieren Sie in Ihrer Aussage kann zu (IMHO) klarer

geändert werden %Vor%     
UncleGene 05.01.2012, 05:46
quelle
3

Ein einfacher Weg wäre, Ihr Array in solche mit nil s und solche ohne zu teilen, dann die Nicht-Nil-Hälfte nach Wunsch zu sortieren und sie zusammen einzufügen:

%Vor%

Dieser Ansatz funktioniert mit jeder Methode (d. h. nicht nur mit date ) und sollte schnell genug sein.

    
mu is too short 05.01.2012 06:50
quelle

Tags und Links