[RUBY] [Rails] Comment utiliser Scope

Environnement de développement

・ Rubis: 2.5.7 Rails: 5.2.4 ・ Vagrant: 2.2.7 -VirtualBox: 6.1 ・ Système d'exploitation: macOS Catalina

Syntaxe de base

nom du modèle de classe< ApplicationRecord
  scope :Nom de la portée, -> {Expression conditionnelle}
end

Exemple d'utilisation

Supposons que vous souhaitiez afficher seulement 5 ID utilisateur dans l'ordre décroissant, comme indiqué ci-dessous.

users_controller.rb


User.order(id: desc).limit(5)

1. Aucun argument

models/user.rb


class User < ApplicationRecord
  scope :recent, -> { order(id: :desc).limit(5) }
end

users_controller.rb


User.recent

2. Avec argument

models/user.rb


class User < ApplicationRecord
  scope :recent, -> (count) { order(id: :desc).limit(count) }
end

users_controller.rb


User.recent(5)

Recommended Posts

[Rails] Comment utiliser Scope
[Rails] Comment utiliser enum
[Rails] Comment utiliser enum
Comment utiliser la jonction de rails
[Rails] Comment utiliser la validation
[Rails] Comment utiliser la "devise" des gemmes
Comment utiliser scope (JSP & Servlet)
[Rails] Comment utiliser l'appareil (Remarque)
[Rails] Comment utiliser les messages flash
Comment utiliser Ruby on Rails
[Rails] Comment utiliser Active Storage
[Introduction aux rails] Comment utiliser le rendu
Comment utiliser Map
Comment écrire des rails
Comment utiliser rbenv
Comment utiliser with_option
Comment utiliser fields_for
Comment utiliser java.util.logging
Comment utiliser la carte
[Rails] Comment utiliser ActiveRecord :: Bitemporal (BiTemporalDataModel)
[Rails] Comment utiliser la méthode de la carte
Comment utiliser collection_select
Comment utiliser Twitter4J
Comment utiliser MapStruct
Comment utiliser MySQL dans le didacticiel Rails
Comment utiliser TreeSet
Comment désinstaller Rails
Comment utiliser l'identité
Comment utiliser le hachage
[Ruby on Rails] Comment utiliser redirect_to
[Note] Comment utiliser Rails 6 Devise + cancancan
Comment utiliser Dozer.mapper
Comment utiliser Gradle
[Rails] Comment utiliser video_tag pour afficher des vidéos
[Rails] Comment utiliser la méthode d'assistance, confimartion
Comment utiliser org.immutables
Comment utiliser java.util.stream.Collector
Comment utiliser VisualVM
Comment utiliser credentials.yml.enc introduit à partir de Rails 5.2
Comment utiliser Map
[Rails] Comment utiliser les boîtes de sélection dans Ransack
Comment utiliser les rails g échafaudage, fonctions, précautions
Comment utiliser la portée et le traitement des passes (servist)
Comment utiliser JQuery dans Rails 6 js.erb
[Rails] Comment utiliser PostgreSQL dans l'environnement Vagrant
[rails] Comment publier des images
Comment utiliser l'API Chain
[Java] Comment utiliser Map
Comment utiliser Queue avec priorité
Comment utiliser java Facultatif
Comment utiliser le retour Ruby