[RUBY] Übergeben Sie Variablen an Scope.

Ich war ein wenig verwirrt über den Umfang meiner Arbeit, deshalb werde ich es hier als Memorandum zusammenfassen. Übrigens ist die Person, die ich schreibe, eine Person, die seit einem Monat Ingenieur ist. Wenn Sie Fehler haben, kommentieren Sie bitte.

Was ich machen wollte

Ich möchte die Variablen für jeden an den Gültigkeitsbereich übergeben.

Tatsächlicher Code

Office.rb


  scope :search, lambda { |keyword|
                   where('name LIKE (?) OR
                          address LIKE (?) OR
                          near_station LIKE (?) OR
                          introduction LIKE (?) OR
                          company LIKE (?)',
                          "%#{keyword}%",
                          "%#{keyword}%",
                          "%#{keyword}%",
                          "%#{keyword}%",
                          "%#{keyword}%")
                        }

offices_controller.rb


      keywords = params[:keyword].split(/[[:blank:]]+/).select(&:present?)
      offices_list = []
      keywords.each do |keyword|
        offices_list += Office.search(keyword)

Der Code ist nur teilweise auszugsweise, aber ich konnte ihn auf diese Weise implementieren. Am Ende wurde es der obige Code, aber der folgende Code funktionierte auch normal.

Office.rb


  scope :search, keyword { where('name LIKE (?) OR
                          address LIKE (?) OR
                          near_station LIKE (?) OR
                          introduction LIKE (?) OR
                          company LIKE (?)',
                          "%#{keyword}%",
                          "%#{keyword}%",
                          "%#{keyword}%",
                          "%#{keyword}%",
                          "%#{keyword}%")
                        }

Recommended Posts

Übergeben Sie Variablen an Scope.
Java-Variablenbereich (Bereich)
Java-Variablenbereich
Notation zum Einfügen von Variablen in eine Zeichenfolge
Entspricht dem Geltungsbereich
Verwendung der Scope- und Pass-Verarbeitung (Servist)
[Einführung in Java] Variablenbereich (Bereich, lokale Variable, Instanzvariable, statische Variable)
Weisen Sie Variablen Java8-Lambda-Ausdrücke zu und verwenden Sie sie erneut
Wie hinterlasse ich einen Kommentar?
So schreiben Sie ein benutzerorientiertes Programm (1)
Übergeben Sie die Parameter an Rails link_to
So fügen Sie ein Video ein
So erstellen Sie eine Methode
[Schienen] Verwendung von Scope
Übergeben Sie C-Sprache char * an Swift
Speichern der im Textbereich eingegebenen Informationen in einer Variablen in der Methode
[Swift5] So kommunizieren Sie von ViewController zu Model und übergeben einen Wert
Verwendung des Bereichs (JSP & Servlet)
Versuchen Sie, einen einfachen Rückruf zu tätigen
Vorbereiten der Erstellung einer Rails-Anwendung
Android-Entwicklung - Versuchen Sie, einen Dialog aufzurufen.
Senden Sie eine Pull-Anfrage an GitHub
So erstellen Sie einen Java-Container
Wie unterschreibe ich Minecraft MOD?
So erstellen Sie einen JDBC-Treiber
[Swift] So senden Sie eine Benachrichtigung
So schreiben Sie eine Java-Variablendeklaration
Was ist eine Referenztypvariable?
So erstellen Sie einen Begrüßungsbildschirm
So erstellen Sie ein Jenkins-Plug-In
Weisen Sie Java-Variablen Bewertungsergebnisse zu
Wie erstelle ich ein Maven-Projekt?
Versuchen Sie, eine Server-Client-App zu erstellen
So übergeben Sie Oracle Java Silver
Versuchen Sie, einen Iterator zu erstellen, der einen Blick darauf werfen kann
So erstellen Sie ein Java-Array
Um kein statischer Onkel zu sein
So ändern Sie den Wert einer Variablen an einem Haltepunkt in IntelliJ
So übergeben Sie einen Proxy, wenn Sie REST mit SSL in Java auslösen