Refactoring into partials in Rails -
पेज 1 में, मैं कोड A + B + C का उपयोग करता हूं
पेज 2 में, मैं कोड बी + सी
इसलिए जब मैं आंशिक बना देता हूं, तो मुझे इसके बारे में कोई अंदाज़ा नहीं है कि इस से कैसे निपटें।
उदाहरण के लिए, एक पोस्ट-टिप्पणी प्रणाली में। मैं 2 अलग-अलग पृष्ठों में @ टिप्पणी दिखाने चाहता हूं टिप्पणी सूचकांक पृष्ठ में, हम इसे पोस्ट करने के लिए दिखाते हैं। और पोस्ट शो पेज में, हमें केवल टिप्पणी की सामग्री दिखानी है (चूंकि टिप्पणी को फिर से दिखाने की कोई आवश्यकता नहीं है)
# टिप्पणी इंडेक्स पेज & lt;% @comments प्रत्येक करें | टिप्पणी | & Gt%; & Lt;% = comment.post% & gt; & Lt;% = comment.author% & gt; & Lt;% = comment.content% & gt; & Lt;% end% & gt; ..
# पेज दिखाएँ पृष्ठ & lt;% @ comments.each करें | टिप्पणी | & Gt%; & Lt;% = comment.author% & gt; & Lt;% = comment.content% & gt; & Lt;% end% & gt; तो, मैं कोड का पुन: उपयोग करने के लिए आंशिक कैसे बनाऊं? शायद यह पसंद है? लेकिन यह ऐसा करने का और अधिक शानदार तरीका है?
# टिप्पणी इंडेक्स पेज & lt;% @ comments.each do | टिप्पणी | & Gt%; & Lt;% = comment.post% & gt; & Lt;% = टिप्पणी टिप्पणी% & gt; & Lt;% end% & gt; # पोस्ट पेज दिखाएँ & lt;% @ comments.each do | टिप्पणी | & Gt%; & Lt;% = टिप्पणी टिप्पणी% & gt; & lt;% end% & gt;
अपडेट किया गया: मैं स्थानीय वैरिएबल दृष्टिकोण को अपनाता हूं और अपना कोड अपडेट करता हूं:
# आंशिक & lt;% यदि शामिल है_ोपिक% & gt; & Lt; div वर्ग = "विषय" & gt; & Lt; h5 & gt; & lt;% = link_to "# {comment.topic.content}", टिप्पणी। तकनीकी% & gt; & lt; / h5 & gt; & Lt; / div & gt; & Lt;% end% & gt; # इंडैक्स & lt;% = रेंडर @comments,: स्थानीय = & gt; {: शामिल_पासिक = & gt; सत्य}% & gt; लेकिन मुझे # & lt; # के लिए अपरिभाषित स्थानीय वैरिएबल या विधि `include_topic 'मिलता है, मैं इस मुद्दे को डिबग करने के लिए कहीं नहीं ढूंढता
आपका आंशिक:
& lt;% = comment.post अगर include_post% & gt; & Lt;% = comment.author% & gt; & Lt;% = comment.content% & gt; आपका कोड:
# इंडैक्स पृष्ठ & lt;% = रेंडर: आंशिक = & gt; "आंशिक_पथ",: संग्रह = & gt; @comments,: as = & gt; : टिप्पणी,: स्थानीय = & gt; {: Include_post = & gt; सत्य}% & gt; #show पृष्ठ & lt;% = रेंडर: आंशिक = & gt; "आंशिक_पथ",: संग्रह = & gt; @comments,: as = & gt; : टिप्पणी,: स्थानीय = & gt; {: Include_post = & gt; गलत}% & gt; सिंटैक्स बहुत छोटा हो सकता है, लेकिन यह निर्भर करता है कि आप रेल परिसंचरणों पर न हों या नहीं।
सिडेनोट: मुझे पसंद नहीं है 1.8.7 वाक्यविन्यास
Comments
Post a Comment