मैं रेल में एक ब्लॉग इंजन लिख रहा हूं, और एक टैग मॉडल और एक पोस्ट मॉडल स्थापित किया है जिसमें have_and_belongs_to_many रिश्ते हैं। टैग एडिशन ठीक काम करता है, समस्या तब होती है जब एक विशिष्ट टैग के साथ सभी पोस्ट की तलाश होती है:रेल में टैग कार्यान्वित करना: एक टैग के साथ एकाधिक वस्तुओं का संदर्भ कैसे लें?
यदि मैं पोस्ट ए को टैग "टेस्ट" जोड़ता हूं, तो बी पोस्ट करने के लिए टैग "टेस्ट" जोड़ें, दो टैग ऑब्जेक्ट्स हैं, दोनों नाम "परीक्षण" के साथ लेकिन अलग-अलग आईडी के साथ, दोनों अलग-अलग पदों का संदर्भ देते हैं। अब अगर मेरे पास नियंत्रक एक्शन इंडेक्सटागपोस्ट है जो पैरामीटर "टैग" लेता है और उस टैग के साथ सभी पोस्ट पाता है, तो यह केवल एक पोस्ट लौटाएगा, क्योंकि दूसरे टैग में एक अलग आईडी है और वास्तव में यह जुड़ा हुआ नहीं है। क्या मुझे किसी भी तरह से नए टैग जोड़ने के लिए प्रतिबंधित करना चाहिए, या क्या मैं सभी प्रासंगिक टैगों को अलग-अलग तरीके से खींचने के तरीके में हेरफेर कर रहा हूं? यहाँ
def indexTagPosts
@tag = Tag.find(params[:tag])
@posts = @tag.posts.all
end
और एक टैग को बचाने के लिए कार्रवाई है:
यहाँ नियंत्रक कार्रवाई जो पैरामीटर 'टैग' के आधार पर सभी प्रासंगिक पदों हड़पने के लिए माना जाता है है
def create
@post = Post.find(params[:post_id])
@tag = @post.tags.create(params[:tag])
respond_to do |format|
if @tag.save
format.html { redirect_to edit_post_path(@post),:notice => "Success" }
end
end
end
धन्यवाद अग्रिम में और अनावश्यकता या बुरी शब्दावली के लिए क्षमा चाहते हैं।
जवाब के लिए धन्यवाद। अगर मैं टैग मॉडल के एक अलग उदाहरण के रूप में प्रत्येक टैग को लागू करने का प्रयास करता हूं, तो मुझे यकीन नहीं है कि मैं यह कैसे करूंगा। – Chazu
आमतौर पर टैग मॉडल रखने का बिंदु यह है कि आप इसके साथ टैग की गई सभी चीज़ें पा सकते हैं। प्रत्येक पोस्ट के लिए एक अलग टैग होने के उद्देश्य से इस तरह की हार होगी। – tadman