2016-03-25 6 views
0

Ich habe versucht mit SQL eine einfache Suchmethode zu schreiben, ich habe dies bisher geschrieben;Rails Suchmethode

User.where("username LIKE '#{input}'") 

die Eingangsgröße ist ‚Adam‘, aber ich will nicht den Benutzernamen des finden, die ‚adam‘ gleich sind möchte ich Benutzernamen finden, die ‚adam‘ oder schließen den Buchstaben ‚a‘ usw. umfassen .... Ich habe mich gefragt, wie ich das machen würde? Ich bin nicht sehr vertraut mit SQL-Abfragen.

Dank

Antwort

0

Sie können diese verwenden:

User.where("username LIKE '%#{input}%'") 
    OR 
User.where("username like ?","%name%") 
+0

Das findet nur den Benutzernamen gleich der Eingabe, ist es möglich, einen Benutzer zu finden, wo ihr Benutzername enthält den Buchstaben 'ada' und finden die Benutzer, die die Buchstaben 'ada' in der Nutzername. –

+0

@AdamParker mit '%' Zeichen wird es genau suchen, wie Sie es wollen. –

0

Wenn Sie Methode dann gehen erstellen Seite zu modellieren & dann dieser Struktur folgen wie unten:

def self.username(username) 
    if username 
    where("username LIKE ?", "%#{username}%") 
    else 
    all 
    end 
end 

Oder erstellen Sie nur Controller wie unten:

Verwandte Themen