Ich schreibe eine Rails 3-Anwendung, und ich habe eine Datenbanktabelle von Benutzern. Die Benutzer haben Spalten first_name und last_name. Auf meiner Seite, die die Benutzer auflistet, möchte ich ein einzelnes Textsuchfeld haben, mit dem der Benutzer die Liste filtern kann. Sie müssen in der Lage sein, einen der folgenden Einträge in das Suchfeld einzugeben: - Ein Vorname eines Benutzers - Ein Nachname eines Benutzers - Der vollständige Name eines Benutzers (z. B. "Smith, John")"Where" -Klausel mit verketteten Feldern in Rails 3
Ich weiß nicht, wie die WHERE-Klausel geschrieben wird, die diese Ergebnisse zurückgibt. Der nächste, den ich bekommen habe, ist unten, aber der verkettete Teil der Felder funktioniert nicht.
where('(first_name LIKE :search) or (last_name LIKE :search) or ("#{last_name}, #{first_name}" LIKE :search)', :search => "%#{search}%")
Ich bin auch zu wissen, interessiert, wenn es eine bessere Art und Weise ist meine OR Aussagen zu handhaben, da diese Klausel recht klobig bekommen wird.
Danke für Ihre Hilfe!
Könnten Sie mir bitte mitteilen, in welchen Railscasts Sie diese Lösung gefunden haben? Danke im Voraus. –
Es war nicht von einem Railscast. –
Ok danke! Ich fand es sehr nützlich :) –