--Je veux convertir le hachage pleine largeur entré dans la recherche de balise de hachage en demi-largeur. ――Je veux faire des nombres pleine largeur demi-largeur ――Je veux supprimer le hachage et rechercher en premier lieu
――Je veux remplacer la sortie par le sentiment que l'utilisateur peut entrer de quelque manière que ce soit.
--tr méthode --delete méthode
Méthode pour convertir le premier argument en deuxième argument
sample.rb
str = 'Ichiro'
puts str.tr('un', 'deux')
#résultat=>Jiro
Ajoutez ceci à l'action de recherche définie dans le modèle
Action de recherche par défaut
models/hashtag.rb
def self.search(search)
if search != ""
Hashtag.where('name LIKE(?)', "%#{search}%")
else
Hashtag.all
end
end
action de recherche avec la méthode tr ajoutée
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
Lors de la recherche dans le formulaire sans le hachage
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
Je ne voulais pas que les nombres demi-largeur et pleine largeur soient mélangés dans la balise de hachage, j'ai donc validé les nombres pleine largeur lors de la saisie de la balise de hachage. (Je voulais vraiment le remplacer et le sauvegarder, mais je ne savais pas comment le faire et j'ai abandonné)
Pour le moment, je suis heureux que cette méthode détecte l'utilisateur de recherche avec n'importe quel mot-clé.
✔︎
Recommended Posts