Erstellen Sie eine Paging-Funktion und Verhindert eine Verlangsamung der Bildladegeschwindigkeit beim Anzeigen einer Liste
ruby 2.5.7 Rails 5.2.4.3 OS: macOS Catalina
Dieses Mal werden wir gem'kaminari 'einführen und die Paging-Funktion implementieren.
Gemfile
gem 'kaminari','~> 1.2.1'
Terminal
$ bundle install
$ rails g kaminari:config
$ rails g kaminari:views default
Damit ist die Installation abgeschlossen.
Ich werde diejenigen vorstellen, die ich oft persönlich benutze. https://github.com/kaminari/kaminari Eine detaillierte Verwendung wird hier beschrieben Wenn Sie interessiert sind, sehen Sie bitte hier. Es ist jedoch alles auf Englisch.
Installieren Sie Folgendes, wo Sie eine Seite erstellen möchten. Dort finden Sie auch Links zu den Seiten 1 und 2 sowie neben diesem Speicherort.
erb:app/views/homes/index.html.erb
<%= paginate @posts %>
Paging kann implementiert werden, indem der Controller auf diese Weise geschrieben wird.
app/controllers/homes_controller.rb
@posts = posts.page(params[:page])
Sie können die Reihenfolge umkehren, indem Sie der Beschreibung des Controllers einen Hinweis hinzufügen.
app/controllers/homes_controller.rb
@posts = posts.page(params[:page]).reverse_order
config/initializers/kaminari_config.rb
Kaminari.configure do |config|
config.default_per_page = 5 #Geben Sie die maximale Anzahl von Elementen an, die pro Seite für alle Seiten angezeigt werden können, die Kaminari mit dieser Nummer verwenden.
end
Individuell anzeigen Wenn Sie die Anzahl der Elemente angeben, die pro Seite angezeigt werden sollen
app/controllers/homes_controller.rb
@posts = posts.page(params[:page]).per(10)
Wenn Sie als nächstes, letztes usw. ändern möchten.
1 gem'rails-i18n 'eingeführt 2 Erstellen Sie eine Datei config / Locations / Ja.yml 3 Bearbeiten Sie ja.yml
Wenn Sie das oben genannte tun, ist es OK. [Referenz von ja.yaml]
ja.yaml
ja
views:
pagination:
first: "≪"
previous: "<"
next: ">"
last: "≫"
Wenn der Wert bei der Implementierung mit der obigen Methode ein Array ist, wird er nicht angezeigt Es sollte wie folgt beschrieben werden.
app/controllers/homes_controller.rb
@posts = Kaminari.paginate_array(Array).page(params[:page])
Aktuelle Beschreibung: [Ruby on Rails] Ranking-Anzeige (Gesamt, Durchschnittswert)
[Rails] Gehe automatisch zur nächsten Seite! !! Unendliches Scrollen der Pagenation mit jscroll
Es gibt viele andere. Wenn Sie also interessiert sind, probieren Sie es bitte aus.
Die Einführung selbst ist nicht so schwierig, aber ohne die Paging-Funktion Wenn die Site wächst, wird sie langsam geladen und ist unbrauchbar. Eine Art Paging-Funktion ist unerlässlich.
Auf Twitter werden auch Technologien und Ideen hochgeladen, die nicht auf Qiita hochgeladen wurden Ich wäre Ihnen dankbar, wenn Sie mir folgen könnten. Klicken Sie hier für Details https://twitter.com/japwork
Recommended Posts