[RUBY] Comment créer des pages pour le tableau "kaminari"

introduction

Cette fois, je vais présenter l'exemple de code pour créer une pagination pour le tableau et l'afficher dans la vue.

manette

J'ai écrit un code comme celui-ci sur le contrôleur pour afficher mes produits préférés sur ma page de l'utilisateur. En fait, cela peut être fait plus facilement en associant, donc veuillez vous référer à l'article suivant! 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

Pourquoi transmettez-vous les paramètres [: item_id] à user_id? Vous avez peut-être pensé, mais comme les likes sont imbriqués dans les éléments de root.rb, voici comment passer des paramètres. (Dans le paramètre, current_user est passé par le chemin où il se trouve: item_id) Si c'est vrai, vous pouvez imbriquer des éléments dans des utilisations, puis Nest aime passer de plus beaux paramètres.

Vue

Je le fais avec haml. Si c'est erb, c'est comme mettre une page juste en dessous de la fin de chaque déclaration.


 - @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

Résumé

Quand je peux implémenter diverses choses par moi-même, j'ai l'impression d'avoir abandonné la recherche d'une méthode d'implémentation plus simple, alors je voudrais améliorer cela ... J'ai juste besoin de pouvoir le faire un peu. Kanno: Père Noël:

Mais si vous voulez créer des pagénations, devez-vous quand même faire différentes choses avec le contrôleur? ?? Vous ne pouvez pas faire de paramètres [: page] dans la vue, non? Peut-être

Souhaitez-vous essayer une méthode d'implémentation différente la prochaine fois que vous implémenterez cette fonctionnalité: frowning2:

Article de référence

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

Recommended Posts

Comment créer des pages pour le tableau "kaminari"
Comment créer un référentiel Maven pour 2020
Comment créer une base de données H2 n'importe où
Comment créer une méthode
Comment utiliser un tableau pour la clé TreeMap
[Spring Boot] Comment créer un projet (pour les débutants)
Comment créer un tableau Java
Comment créer une image de conteneur légère pour les applications Java
Comment générer des valeurs de tableau sans utiliser d'instruction for
Comment créer et lancer un Dockerfile pour Payara Micro
Comment ajouter un nouveau hachage / tableau
[Swift5] Comment créer un écran de démarrage
[rails] Comment créer un modèle partiel
[Rails] Comment créer un graphique à l'aide de lazy_high_charts
Comment utiliser un tableau pour les clés HashMap
Comment créer une classe qui hérite des informations de classe
Comment créer un thème dans Liferay 7 / DXP
Comment créer un JRE léger pour la distribution
[Docker] Comment créer un environnement virtuel pour les applications Rails et Nuxt.js
[1st] Comment créer un projet de framework Spring-MVC
Comment créer docker-compose
Comment créer facilement un pull-down avec des rails
[Rails] Comment créer un bouton de partage Twitter
[Java] [Pour les débutants] Comment insérer des éléments directement dans un tableau à deux dimensions
Comment implémenter la pagination dans GraphQL (pour ruby)
Comment faire une méthode de jugement pour rechercher n'importe quel caractère dans le tableau
Comment créer un environnement Java en seulement 3 secondes
Comment écrire un test unitaire pour Spring Boot 2
Comment créer une URL JDBC (Oracle Database, Thin)
Comment écrire pour appliquer Gem Pagy (pagination) à un tableau
Comment créer un URI de données (base64) en Java
[Pour ceux qui créent des portfolios] Comment utiliser font-awesome-rails
Comment convertir un fichier en tableau d'octets en Java
Comment faire un MOD pour Slay the Spire
[Offre d'abonnement Apple] Comment créer une signature d'offre promotionnelle
Je souhaite créer une annotation générique pour un type
Comment laisser un commentaire
Comment initialiser un tableau Java
Comment insérer une vidéo
Tutoriel pour créer un blog avec Rails pour les débutants Partie 1
SDWebImage: Comment vider le cache pour une UIImageView particulière
Comment créer un formulaire pour sélectionner une date dans le calendrier
Comment changer une chaîne dans un tableau en un nombre dans Ruby
Comment créer une partie d'espace réservé à utiliser dans la clause IN
[Pour ceux qui créent des portefeuilles] Comment utiliser Chart kick
Apprendre Ruby avec AtCoder 13 Comment créer un tableau à deux dimensions
Comment ajouter les mêmes index dans un tableau imbriqué
[Pour ceux qui créent des portfolios] Comment omettre les chaînes de caractères
Minecraft Modding [1.12] Comment attacher un rendu spécial pour Item
Tutoriel pour créer un blog avec Rails pour les débutants Partie 2
Pour les débutants Java: List, Map, Iterator / Array ... Comment convertir?
Comment créer un portlet de générateur de services dans Liferay 7 / DXP
Tutoriel pour créer un blog avec Rails pour les débutants Partie 0