Ich arbeite mit dem Rails mislav-will_paginate Plugin um meine Datensätze zu paginieren. Ich möchte folgende Ausgabe erzeugen, und zwar unabhängig davon, ob es gab mehrere Seiten:Override Rails mislav-will_paginate plugin
X - Y of Z
1 - 100 of 1826
will_paginate in WillPaginate :: Viewhelper gibt nil zurück, wenn nur eine Seite der Aufzeichnungen war. Ich möchte dies in der saubersten möglichen Weise überschreiben, um die obige Ausgabe zu erzeugen, wenn es nur eine Seite gibt, oder die obige Ausgabe von der üblichen Ausgabe umgeben wäre, wenn es mehrere Seiten gäbe.
Ich habe WillPaginate :: LinkRenderer to_html Methode überschrieben, um diese Ausgabe zu erzeugen, aber ich kann nicht herausfinden, wie man es produziert, wenn es nur eine Seite von Datensätzen gibt.
Sollte ich den Code verschieben, um X - Y von Z woanders zu erzeugen und es sowohl von meiner überschreibenden to_html Methode, als auch von der Stelle, an der ich meinen will_paginate Aufruf mache, wenn es Null zurückgibt? Wenn ja, wo sollte es leben?
Ich gehe davon aus, dass diese Zahlen die Anzahl der Elemente auf der aktuellen Seite darstellen und wie viele es insgesamt sind? Und Sie möchten immer anzeigen, ob die Paginierungsverknüpfungen vorhanden sind oder nicht? Warum sollte es dann nicht vollständig außerhalb des Aufrufs von will_paginate bleiben und es in Ihrer Ansicht oder benutzerdefinierten Hilfsmethode implementieren? – ryanb
Beide Annahmen sind richtig. Ich möchte sie zusammenrollen, weil sie logisch miteinander verwandt sind. Jedes Mal, wenn ich will_paginate anrufe, möchte ich auch die Summen anzeigen. Ich möchte auch die Summen zwischen den Seitenlinks anzeigen, die wille_paginate produziert, ala Gmail. Der sauberste Weg, dies zu tun, scheint zu sein, wille_paginate zu bekommen, um die Summen in seiner to_html Methode auszugeben. – nfm