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 № 1Que diriez-vous:
query_tags = user_input.split(",").map { |i| """ + i.strip + """ }.join(", ")
# => "ruby", "rails", "angular"