/ / Besoin de convertir des mots en chaînes de caractères à rechercher par sql en ruby ​​[duplicate]

Besoin de convertir des mots en chaînes de caractères pour effectuer une recherche sql en ruby ​​[duplicate] - sql, ruby-on-rails, ruby, postgresql, ruby-on-rails-4

J'ai une application construite sur rails4 en utilisant PG et j'ai un contrôleur de questions où chaque question a des étiquettes. Je veux que l'utilisateur ait un champ où il peut entrer des mots-clés séparés par des virgules.

Le problème est que find_by_sql a besoin que chaque mot limite soit une chaîne séparée par des virgules.

J'ai ce droit pour le moment, car cela ne fonctionne qu'avec un mot, à moins que je ne saisisse manuellement des mots comme celui-ci. "ruby", "rails", "angular"

Question.find_by_sql("SELECT * FROM questions AS q INNER JOIN taggings AS t ON q.id = t.question_id INNER JOIN tags AS ta ON ta.id = t.tag_id WHERE ta.name IN ("#{current_user.first_name}");")

Encore une fois, l'utilisateur aura une entrée de texte où ils pourraient le mettre ruby, rails, angular

et alors je peux rechercher par ces mots.

J'espère que cela a du sens et merci d'avance!

Réponses:

-1 pour la réponse № 1

Que diriez-vous:

query_tags = user_input.split(",").map { |i| """ + i.strip + """ }.join(", ")
# => "ruby", "rails", "angular"