Ich versuche Will_paginate für eine Rails 3.2 App zu verwenden, und ich habe keine Referenz irgendwo für was passiert, wenn jemand Paging ist, während die Daten in der Datenbank geändert wird . Genauer gesagt, neue Datensätze werden hinzugefügt.Rails will_paginate und Ajax, Paging, während die DB-Tabelle ändert
Ich könnte etwas hier fehlen, aber wenn ich bekomme, wie es funktioniert, Will_paginate einfach zählt die Datensätze in der DB. Angenommen, ich lade eine Seite mit jeweils 5 Datensätzen und möchte, dass sie nach dem neuesten zuerst sortiert werden. Ein Benutzer lädt die Seite und ruft die Datensätze 6-10 (die neuesten Datensätze zu dieser Zeit) ab, die auf Seite 1 angezeigt werden. Dann fügt jemand einen weiteren Datensatz in die Tabelle ein, id = 11. Danach klickt der erste Benutzer auf Seite 2, aber jetzt gibt Seite 2 die Datensätze 2-6. Also hat der Benutzer id = 6 auf beiden Seiten.
Dieses Problem klingt nicht so schlimm, aber es ist wirklich schlecht, wenn man will_paginate Paging für eine unendliche Schriftrolle verwenden mag, wie hier gezeigt: http://railscasts.com/episodes/114-endless-page
ich einen Zeitstempel der ersten Seite zu laden dachte
über das Hinzufügen und übergebe es an aufeinanderfolgende Ajax-Aufrufe, um nach den zuerst vorhandenen Datensätzen zu filtern, um die Duplikate nicht zu erhalten.Gibt es eine Best-Practice-Methode, um damit umzugehen?
Ich verwendete einen Zeitstempel, um nur die Daten zu erhalten, die zum Zeitpunkt des ersten Ladens der Seite vorhanden waren. – Oded
In diesem Fall sollten Sie in Erwägung ziehen, eine Überprüfung vorzunehmen, ob Datensätze vorhanden sind, die jünger sind als der Zeitstempel. Wenn ja, zeigen Sie einen Link an, damit der Benutzer die neueren Ergebnisse laden kann (siehe z. B. Twitter) Beispiel). – Benissimo