――Ich möchte die Ausgabe durch das Gefühl ersetzen, dass der Benutzer sie auf irgendeine Weise eingeben kann.
--tr Methode
Methode zum Konvertieren des ersten Arguments in das zweite Argument
sample.rb
str = 'Ichiro'
puts str.tr('einer', 'zwei')
#Ergebnis=>Jiro
Fügen Sie dies der im Modell definierten Suchaktion hinzu
Standardsuchaktion
models/hashtag.rb
def self.search(search)
if search != ""
Hashtag.where('name LIKE(?)', "%#{search}%")
else
Hashtag.all
end
end
Suchaktion mit hinzugefügter tr-Methode
models/hashtag.rb
def self.search(search)
if search != ""
Hashtag.where('name LIKE(?)', "%#{search.tr('#', '#').tr('/0-9/', '/0-9/')}%")
else
Hashtag.all
end
end
Ersetzte # und Nummern, die in voller Breite durch halbe Breite eingegeben wurden.
Bei der Suche im Formular ohne Hash
models/hashtag.rb
def self.search(search)
if search != ""
Hashtag.where('name LIKE(?)', "%#{search.tr('#', '#').tr('/0-9/', '/0-9/').delete('#')}%")
Hashtag.all
end
end
Ich wollte nicht, dass die Zahlen mit halber und voller Breite im Hash-Tag verwechselt werden, also habe ich die Zahlen mit voller Breite bei der Eingabe des Hash-Tags überprüft. (Ich wollte es wirklich ersetzen und speichern, aber ich wusste nicht, wie ich es machen sollte und gab auf)
Vorerst bin ich froh, dass diese Methode den Suchbenutzer mit einem beliebigen Schlüsselwort aufnimmt.
✔︎
Recommended Posts