2016-04-06 2 views
0

Ich habe gesucht und auf dieser Frage nach Hilfe gesucht, aber ich habe kein Glück gefunden. Ich möchte eine Seite haben, die jeden Benutzer einzeln in meiner Datenbank anzeigt, und wenn ich auf 'Weiter' klicke, wird der nächste Benutzer in der Datenbank angezeigt und seine Informationen angezeigt. Ich habe diesen Code überall gesehen:Benutzer in Datenbank einzeln durchlaufen

aber dies zeigt jeden Benutzer alle gleichzeitig auf meiner Seite an. Ich möchte nur einen einzelnen Benutzer gleichzeitig anzeigen. Wenn jemand mich zu einer guten Quelle leiten könnte oder eine einfache Erklärung hätte, wäre ich für immer dankbar!

+4

paginieren Sie Ihre Benutzer. pro Seite zeigen nur einen einzigen Benutzer. :) – Emu

Antwort

1

Werfen Sie einen Blick auf die kaminari gem. Sie können paginate Ihre Ergebnisse eins nach dem anderen (ein Ergebnis pro Seite, daher der Name).

2

Sie müssen nur die @users Datensätze paginieren. Ich bevorzuge die Verwendung will_paginate gem.

Nachdem es in Ihrer Edelstein-Datei einschließlich, können Sie es gerne verwenden:

@users = User.paginate(:page => 1, :per_page => 1) 

Zum Grundverständnis, das Juwel verwendet grundsätzlich Grenze und in SQL-Abfrage-Offset, den Datensatz zu erreichen. Wenn Sie den Edelstein nicht verwenden möchten, dann können Sie versuchen, wie:

User.limit(1).offset(params[:offset].present? ? params[:offset] : 0) 

Und auf einen Klick auf nächsten können Sie den erhöhten Wert von Offset jeder Zeit als Parameter übergeben.