Créez une fonction de pagination et Empêche le ralentissement de la vitesse de chargement des images lors de l'affichage d'une liste
ruby 2.5.7 Rails 5.2.4.3 OS: macOS Catalina
Cette fois, nous allons introduire gem'kaminari 'et implémenter la fonction de pagination.
Gemfile
gem 'kaminari','~> 1.2.1'
Terminal
$ bundle install
$ rails g kaminari:config
$ rails g kaminari:views default
Ceci termine l'installation.
Je vais vous présenter ceux que j'utilise souvent personnellement. https://github.com/kaminari/kaminari L'utilisation détaillée est décrite ici, donc Si vous êtes intéressé, veuillez voir ici. Cependant, tout est en anglais.
Installez les éléments suivants à l'endroit où vous souhaitez paginer Vous trouverez également des liens vers les pages 1 et 2 et à côté de cet emplacement.
erb:app/views/homes/index.html.erb
<%= paginate @posts %>
La pagination peut être implémentée en écrivant le contrôleur de cette manière.
app/controllers/homes_controller.rb
@posts = posts.page(params[:page])
Il est possible d'inverser l'ordre en ajoutant une note à la description du contrôleur.
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 #Spécifiez le nombre maximum d'éléments pouvant être affichés par page pour toutes les pages qui utilisent le kaminari avec ce nombre.
end
Afficher individuellement Lors de la spécification du nombre d'éléments à afficher par page
app/controllers/homes_controller.rb
@posts = posts.page(params[:page]).per(10)
Si vous voulez changer suivant, dernier, etc.
Introduction de 1 gem'rails-i18n ' 2 Créez un fichier config / locals / ja.yml 3 Modifier ja.yml
Si vous faites ce qui précède, c'est OK. [Référence de ja.yaml]
ja.yaml
ja
views:
pagination:
first: "≪"
previous: "<"
next: ">"
last: "≫"
Lors de la mise en œuvre avec la méthode ci-dessus, si la valeur est un tableau, elle ne sera pas affichée, donc Il doit être décrit comme suit.
app/controllers/homes_controller.rb
@posts = Kaminari.paginate_array(Tableau).page(params[:page])
Description réelle: [Ruby on Rails] Affichage du classement (total, valeur moyenne)
[Rails] Aller automatiquement à la page suivante! !! Défilement infini de pagination avec jscroll
Il y en a beaucoup d'autres, donc si vous êtes intéressé, veuillez le vérifier.
L'introduction elle-même n'est pas si difficile, mais sans la fonction de pagination Au fur et à mesure que le site se développe, il se charge lentement et est inutilisable, Une sorte de fonction de pagination est essentielle.
De plus, sur Twitter, les technologies et les idées qui n'ont pas été téléchargées sur Qiita sont également téléchargées, donc Je vous serais reconnaissant si vous pouviez me suivre. Cliquez ici pour plus de détails https://twitter.com/japwork
Recommended Posts