[RUBY] Eine Sammlung von Methoden, um in der Hash-Tag-Suche eingegebene Zeichen durch ein angenehmes Gefühl zu ersetzen

Einführung

Was du machen willst

Grund zu tun

――Ich möchte die Ausgabe durch das Gefühl ersetzen, dass der Benutzer sie auf irgendeine Weise eingeben kann.

Methode

--tr Methode

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.

Löschmethode

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

abschließ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

Eine Sammlung von Methoden, um in der Hash-Tag-Suche eingegebene Zeichen durch ein angenehmes Gefühl zu ersetzen
Eine Sammlung von Phrasen, die das "unterschiedliche Gefühl" von Java und JavaScript beeindruckt
Eine Sammlung von Methoden, die häufig beim Bearbeiten der Zeit mit TimeWithZone of Rails verwendet werden
Es ist gerade erst, aber eine Sammlung von Befehlen, die häufig in Rails angezeigt werden
RSpec-Sammlung, die ich häufig verwendet habe