full text search - Rails 4 + Sunspot: searching things a User has "liked" by their attributes (polymorphic has_many through associations) -
मेरे पास कुछ रेलवे 4 ऐप में निम्नलिखित हैं:
class like & lt; ActiveRecord :: बेस is_to: liker, class_name: 'उपयोगकर्ता' belongs_to: likeable, बहुरूपता: सच अंत वर्ग फोटो & lt; ActiveRecord :: बेस # के पास एक `शीर्षक` और` विवरण` विशेषताओं है__मैं: पसंद, जैसे: पसंद करने योग्य है_माइं: पसंद, के माध्यम से: पसंद करती है अंत वर्ग गाने & lt; ActiveRecord :: बेस # के पास एक `शीर्षक` और` विवरण` विशेषताओं है_माइंड: पसंद, जैसे: पसंद करने योग्य है_माइं: पसंद, के माध्यम से: पसंद करती है अंत कक्षा वीडियो & lt; ActiveRecord :: बेस # के पास एक `शीर्षक` और` वर्णन` विशेषताओं है__मैं: पसंद, जैसे: पसंद करने योग्य है_माइं: पसंद, के माध्यम से:: पसंद करती है अंत क्लास उपयोगकर्ता & lt; ActiveRecord :: बेस has_many: likes, source:: liker has_many: liked_photos, के माध्यम से:: पसंद, स्रोत:: likeable, source_type: 'photo' has_many: liked_videos, के माध्यम से:: पसंद, स्रोत:: likeable, source_type: 'वीडियो' मुझे एक खोज फ़ॉर्म है जहां वर्तमान उपयोगकर्ता तस्वीरें, गीत, खोज, और उनके शीर्षक या विवरण के द्वारा वीडियो पर नतीजे मिलते हैं, लेकिन उन परिणामों को केवल उन लोगों द्वारा नकार दिया जा सकता है जिन्हें उन्हें पसंद है। मैंने has_many खोज से निपटने के कुछ अन्य पदों को पढ़ा है, लेकिन मुझे चीजों के बहुरूपता पक्ष पर भ्रम हो रहा है। मैं सोच रहा था कि खोज कुछ इस तरह होगी: @search = sunspot.search (फोटो, गीत, वीडियो) {पूर्णांक पैरामीटर [: शब्द]} लेकिन फिर मुझे यह उलझन में मिल गया कि यह वर्तमान_युसर द्वारा किस प्रकार व्याप्त है। या क्या खोज जैसा मॉडल होना चाहिए? उदाहरण के लिए: @search = like.search {पूर्ण टेक्स्ट पैरामीटर [: शब्द]} खोज योग्य में क्या शामिल होना चाहिए विधि, और किस मॉडल में यह सबसे अच्छा है?
यह है कि मैं क्या हुआ कर रहा है:
वर्ग की तरह & lt; ActiveRecord :: बेस खोज करने योग्य पाठ: likeable_title doable.title अंत पाठ करना: likeable_description करना likeable.description end integer: liker_id end end फिर मैं एक नियंत्रक में निम्नलिखित खोज कर सकता है
@search = like.search (इसमें शामिल हैं:), पूर्ण टेक्स्ट पैरामीटर [: शब्द] के साथ: liker_id, current_user.id end तब मैं रेंडर कर सकता हूं प्रत्येक परिणाम के लिए पसंद करने योग्य का उपयोग करके देखें मुझे बताएं कि क्या आपके पास एक बेहतर तरीका है या अगर कुछ ऐसा है जिसके बारे में मैं विचार नहीं कर रहा हूं ...
Comments
Post a Comment