/ / रूबी में एसक्यूएल द्वारा खोज करने के लिए शब्दों को स्ट्रिंग में बदलने की आवश्यकता है [डुप्लिकेट] - एसक्यूएल, रूबी-ऑन-रेल, रूबी, पोस्टग्रेस्क्ल, रूबी-ऑन-रेल -4

रूबी में एसक्यूएल द्वारा खोज करने के लिए शब्दों को स्ट्रिंग में बदलने की आवश्यकता है [डुप्लिकेट] - एसक्यूएल, रूबी-ऑन-रेल, रूबी, पोस्टग्रेस्क्ल, रूबी-ऑन-रेल -4

मेरे पास पीजी का उपयोग कर रेल 4 पर बनाया गया एक ऐप है और मेरे पास एक प्रश्न नियंत्रक है जहां प्रत्येक प्रश्न टैग होते हैं। मैं चाहता हूं कि उपयोगकर्ता के पास एक फ़ील्ड हो जहां वे अल्पविराम से अलग कीवर्ड दर्ज कर सकें।

समस्या यह है कि find_by_sql को प्रत्येक शब्द सीमा को अल्पविराम से अलग स्ट्रिंग होने की आवश्यकता होती है।

मेरे पास यह अभी परीक्षण करने के लिए है क्योंकि यह केवल एक शब्द के साथ काम करता है जब तक कि मैं मैन्युअल रूप से इस तरह के शब्दों को दर्ज नहीं करता "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}");")

तो फिर, उपयोगकर्ता के पास एक टेक्स्ट इनपुट होगा जहां वे इसे डाल सकते हैं ruby, rails, angular

और फिर मैं उन शब्दों से खोज सकता हूं।

मुझे आशा है कि यह समझ में आता है और अग्रिम धन्यवाद!

उत्तर:

उत्तर № 1 के लिए -1

कैसा रहेगा:

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