2013-07-03 7 views
13

क्या कोई भी provide() दृश्य के अंदर काम करता है पर स्पष्ट स्पष्टीकरण दे सकता है? मैं आधिकारिक दस्तावेज पढ़ा है लेकिन क्या वास्तव में मुझे परेशान है, अगर मैं तो एक टेम्पलेटउपज और प्रदान करें() टेम्पलेट के अंदर

<% provide(:title, 'Help') %> 

और की शुरुआत में परिभाषित बाद में मैं कोड की इस पंक्ति है

<%= yield :title %> 

क्या वास्तव में क्या होता है पृष्ठभूमि ? मुझे पता है कि उपज कोड ब्लॉक को कॉल करना है। इस संदर्भ में कोड ब्लॉक क्या होगा?

उत्तर

32

provide बाद में उपयोग के लिए पहचानकर्ता में मार्कअप का एक ब्लॉक संग्रहीत करता है। इस मामले में, प्रतीक में 'सहायता': शीर्षक। यह संकेत <% %> में प्रदान किया गया है यह इंगित करने के लिए कि यह इस कोड को निष्पादित कर रहा है और दृश्य में प्रिंट नहीं कर रहा है।

yield इस मामले में बस उस ब्लॉक को पीछे छोड़ देता है। उपज <%= %> में संलग्न है यह इंगित करने के लिए कि इसे दृश्य में मुद्रित किया जा रहा है।

इसे एक चर सेट करने और एक चर को प्रिंट करने के रूप में सोचें।

देखें: http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html#method-i-provide अधिक जानकारी के लिए। ध्यान दें कि provide वास्तव में content_for के लिए एक रैपर है, इसलिए वह लिंक उस लिंक में है।

संबंधित मुद्दे