[RUBY] Beherrsche das [Rails] Scope!

Stellen Sie den Bereich im Modell ein und rufen Sie ihn mit einem Controller oder ähnlichem auf.

-Beispiel- Legen Sie den Bereich im Benutzermodell fest. Wird vom Controller des Benutzers aufgerufen.

app/models/user.rb



class User < ApplicationRecord
  ...
    # scope :Name, den Sie anrufen möchten, -> {wird bearbeitet}

    #Die gelöschte Spalte abrufen ist falsch
    scope :active, -> { where(deleted: false) }
    # created_Gehen Sie in absteigender Reihenfolge zur Spalte
    scope :sorted, -> { order(created_at: :desc) }
    #Eine Kombination aus aktiv und sortiert
    scope :recent, -> { active.sorted }
  ...
end

app/controllers/users_controller.rb



class UsersController < ApplicationController
  ...
  def index
  # @users =Modell-.Bereichsname

    @users = User.recent
  end
  ...
end

Wie man Lambda benutzt

Lambda ist eine anonyme Funktion. Darüber hinaus ist die Identität der anonymen Funktion ein Ruby Proc-Objekt. Eine anonyme Funktion ist sozusagen eine "unbenannte Funktion". So etwas wie der folgende Code wird als anonyme Funktion bezeichnet. (* Beide Codes sind synonym.)


nameless_func = lambda { |n| n**2 }
nameless_func.(5)
#=> 25

scope :nameless_func, -> { |n| n**2 }
nameless_func(5)
#=> 25

verdienen

Recommended Posts

Beherrsche das [Rails] Scope!
Hinweise zum Umfang
Schienen ~ Die Nachrichtenfunktion verstehen ~
[Rails] Löschen Sie die Migrationsdatei
[Schienen] Verwendung von Scope
[Rails] Was war die Fehlermeldung?
[Schienen] Überprüfen Sie den Inhalt des Objekts
Über das Symbol <%%> in Rails erb
Erläuterung der Reihenfolge der Schienenrouten
Überprüfen Sie den Migrationsstatus von Schienen
Umfang
[Rails] Ich habe versucht, die Anwendung zu löschen
Überprüfen Sie das Stammverzeichnis im Rails-Browser
[Rails] Der Fall, in dem der Server nicht mehr funktioniert
Ändern Sie die Standardzeitzone für die Rails-App
Punkt 57 Minimieren Sie den Umfang lokaler Variablen
Die Identität der Schienenparameter [: id]
[Schienen] Verwendung der Kartenmethode
Bereiten Sie die Formatumgebung für "Rails" (VScode) vor.
Rails Refactoring Geschichte vor Ort gelernt
Bereiten Sie die Sicherheitsüberprüfungsumgebung für Rails 6 vor
[Rails] Ändern Sie den Labelnamen von f.label
Überprüfen Sie den Verarbeitungsinhalt mit [Rails] Binding.pry
[Rails] Setzen Sie die Datenbank in der Produktionsumgebung zurück
Rails6: Extrahieren Sie das Bild im Aktionstext