[RUBY] So erstellen Sie Pagenationen für das "Kaminari" -Array

Einführung

Dieses Mal werde ich den Beispielcode einführen, um eine Pagenation für das Array zu erstellen und ihn in der Ansicht anzuzeigen.

Regler

Ich habe einen solchen Code auf den Controller geschrieben, um meine Lieblingsprodukte auf der Seite "Benutzer" des Benutzers anzuzeigen. Dies kann tatsächlich einfacher durch Verknüpfen erfolgen. Lesen Sie daher bitte den folgenden Artikel! https://qiita.com/yummy888/items/22db2f8b79b5be148b69

 def index
    items = []
    likes = Like.where(user_id: params[:item_id])
    if likes.present?
      likes.each { |like| items << Item.find(like.item_id)}
    end
    @items = Kaminari.paginate_array(items).page(params[:page]).per(15)
  end

Warum übergeben Sie params [: item_id] an user_id? Sie haben vielleicht gedacht, aber da Likes in Elementen in root.rb verschachtelt sind, übergeben Sie auf diese Weise Parameter. (In dem Parameter wird current_user über den Pfad übergeben, in dem es sich befindet: item_id.) Wenn dies der Fall ist, können Sie Elemente in Verwendungen verschachteln und dann verschachteln, um schönere Parameter zu übergeben.

Aussicht

Ich mache es mit haml. Wenn es erb ist, fühlt es sich an, als würde die Pagenation knapp unter das Ende jeder Aussage gesetzt


 - @items.each do |item|
   = link_to item_path(item), class: "user__liked__items" do
     .user__liked__items__image
       = image_tag "#{item.images[0].image.url}", height:"50px", width: "50px", class: "user__liked__item__image"
       -if item.buyer_id.present? 
         .items__image__sold
           .items__image__sold__inner
              SOLD
       .user__liked__item__details
         .user__liked__item__name
           = item.name
         .user__liked__item__price
           %span
             ¥
             = item.price.to_s(:delimited)
           %i.fas.fa-chevron-right
  = paginate @items

Zusammenfassung

Wenn ich verschiedene Dinge selbst implementieren kann, habe ich das Gefühl, dass ich die Suche nach einer einfacheren Implementierungsmethode aufgegeben habe, deshalb möchte ich das verbessern ... Ich muss es nur ein wenig tun können. Kanno: Santa:

Aber wenn Sie Pagenationen erstellen möchten, müssen Sie trotzdem verschiedene Dinge mit dem Controller tun? ?? Sie können in der Ansicht keine Parameter [: Seite] ausführen, oder? Vielleicht

Möchten Sie bei der nächsten Implementierung dieser Funktion eine andere Implementierungsmethode ausprobieren: frowning2:

Referenzartikel

https://blog.konboi.com/post/2013/03/31/224939/

Recommended Posts

So erstellen Sie Pagenationen für das "Kaminari" -Array
So erstellen Sie ein Maven-Repository für 2020
So erstellen Sie überall eine H2-Datenbank
So erstellen Sie eine Methode
So verwenden Sie ein Array für den TreeMap-Schlüssel
[Spring Boot] So erstellen Sie ein Projekt (für Anfänger)
So erstellen Sie ein Java-Array
So erstellen Sie ein leichtes Container-Image für Java-Apps
So geben Sie Array-Werte ohne Verwendung einer for-Anweisung aus
So erstellen und starten Sie eine Docker-Datei für Payara Micro
So fügen Sie einen neuen Hash / Array hinzu
[Swift5] So erstellen Sie einen Begrüßungsbildschirm
[Rails] So erstellen Sie eine Teilvorlage
[Rails] So erstellen Sie ein Diagramm mit lazy_high_charts
So verwenden Sie ein Array für HashMap-Schlüssel
So erstellen Sie eine Klasse, die Klasseninformationen erbt
So erstellen Sie ein Thema in Liferay 7 / DXP
So erstellen Sie eine leichte JRE für den Vertrieb
[Docker] So erstellen Sie eine virtuelle Umgebung für Rails- und Nuxt.js-Apps
[1.] So erstellen Sie ein Spring-MVC-Framework-Projekt
So erstellen Sie Docker-Compose
So erstellen Sie einfach ein Pulldown mit Rails
[Rails] So erstellen Sie eine Twitter-Freigabeschaltfläche
[Java] [Für Anfänger] So fügen Sie Elemente direkt in ein zweidimensionales Array ein
So implementieren Sie Paginierung in GraphQL (für Ruby)
So erstellen Sie eine Beurteilungsmethode, um nach einem beliebigen Zeichen im Array zu suchen
So erstellen Sie eine Java-Umgebung in nur 3 Sekunden
So schreiben Sie einen Komponententest für Spring Boot 2
So erstellen Sie eine JDBC-URL (Oracle Database, Thin)
Wie schreibe ich, um Edelstein Pagy (Pagenation) auf ein Array anzuwenden
So erstellen Sie einen Daten-URI (base64) in Java
[Für diejenigen, die Portfolios erstellen] Verwendung von Font-Awesome-Rails
So konvertieren Sie eine Datei in ein Byte-Array in Java
Wie erstelle ich einen MOD für Slay the Spire?
[Apple-Abonnementangebot] So erstellen Sie eine Signatur für ein Werbeangebot
Ich möchte eine generische Anmerkung für einen Typ erstellen
Wie hinterlasse ich einen Kommentar?
So initialisieren Sie ein Java-Array
So fügen Sie ein Video ein
Tutorial zum Erstellen eines Blogs mit Rails für Anfänger Teil 1
SDWebImage: So löschen Sie den Cache für eine bestimmte UIImageView
So erstellen Sie ein Formular zur Auswahl eines Datums aus dem Kalender
So ändern Sie eine Zeichenfolge in einem Array in eine Zahl in Ruby
So erstellen Sie ein Platzhalterteil zur Verwendung in der IN-Klausel
[Für diejenigen, die Portfolios erstellen] Verwendung von Chart Kick
Ruby mit AtCoder lernen 13 So erstellen Sie ein zweidimensionales Array
So fügen Sie dieselben Indizes in ein verschachteltes Array ein
[Für diejenigen, die Portfolios erstellen] So lassen Sie Zeichenketten weg
Minecraft Modding [1.12] So fügen Sie einen speziellen Render für Item hinzu
Tutorial zum Erstellen eines Blogs mit Rails für Anfänger Teil 2
Für Java-Anfänger: Liste, Karte, Iterator / Array ... Wie konvertiere ich?
So erstellen Sie ein Service Builder-Portlet in Liferay 7 / DXP
Tutorial zum Erstellen eines Blogs mit Rails für Anfänger Teil 0