alphabetische Seitennummerierung in Schienen

7

Ich suche ein Juwel für Rails für alphabetische Paginierung. Ich wünschte, ich könnte eine Liste der ersten Buchstaben im Ergebnis finden (ich meine, wenn es keine Zeile gibt, die mit 'a' beginnt, möchte ich nicht, dass das 'a' auf den Paginierungslinks angezeigt wird). Gibt es diese Art von Edelstein bereits?

Vielen Dank im Voraus!

    
Mathieu Mahé 28.09.2011, 21:03
quelle

3 Antworten

11

Das wäre gar nicht so schwer zu erstellen, zum Beispiel wenn du find hättest, vielleicht wie:

%Vor%

... was eine Ergebnismenge wie eine Liste von Wörtern wie folgt zurückgab:

%Vor%

... das könntest du tun:

%Vor%

was zurückgeben würde:

%Vor%

Der .collect {|word| word[0,1]} speichert den ersten Buchstaben jedes Wortes in einem neuen Array, während uniq die eindeutigen Buchstaben herausfiltert und sort diese alphabetisch sortiert.

Ordnen Sie das einfach einer Variablen zu und Sie können es in Ihrer Ansicht wie folgt verwenden:

%Vor%

Ihre Controller-Aktion könnte dann entscheiden, was mit dem Parameter aus der Paginierung geschehen soll, wenn einer übergeben wird:

%Vor%

Und dann würde der Bereich in Ihrem Modell etwa wie folgt aussehen:

%Vor%

Ihre Routen erfordern etwas wie:

%Vor%

Ich habe das nicht vollständig getestet, aber es sollte dich auf den richtigen Weg bringen.

    
Pete 28.09.2011 22:18
quelle
5

Um eine dynamische Auswahl aus der entsprechenden Tabelle zu erhalten, können Sie einen dynamischen SQL-Finder verwenden.

In diesem Beispiel wählen wir aus einer Tabelle namens "albums" aus und erstellen eine Spalte "name", um die Werte zu speichern. Diese werden im Modellobjekt "Album" zurückgegeben. Ändern Sie einen dieser Namen nach Ihren Bedürfnissen.

%Vor%

Beachten Sie, dass Sie die Albummodellobjekte nicht für nichts verwenden können, außer für die Abfrage des Felds "name". Dies liegt daran, dass wir diesem Objekt eine Lobotomie gegeben haben, indem wir nur das Feld "Name" gefüllt haben - es ist nicht einmal ein gültiges "ID" -Feld zugeordnet!

    
agedOne 16.10.2011 19:20
quelle
5

Ich habe hier einen alphabetischen Seitenumbruch-Edelstein erstellt: Ссылка

Für alle, die immer noch Probleme in dieser Domain haben.

    
Xiv 06.08.2013 19:14
quelle