2012-05-21 12 views
15

क्या किसी मध्यस्थ फ़ाइल में किसी पृष्ठ के वर्तमान पथ को पुनर्प्राप्त करना संभव है? उदाहरण के लिए, अगर मैं निम्नलिखित की तरह कुछ के साथ एक लेआउट फ़ाइल layout.erb है:मिडिलमैन लेआउट फ़ाइल में पृष्ठ का वर्तमान पथ प्राप्त करें

<%= page.path %> 
<%= yield %> 

और एक परीक्षण फ़ाइल index.html:

Testing 
तो

जब बिचौलिया पेज मैं की तरह कुछ मिलेगा गाया:

/index.html 
Testing 

उत्तर

29

मिडलमैन current_page चर प्रदान करता है। current_page.path इस संसाधन का स्रोत पथ है (स्रोत निर्देशिका के सापेक्ष, टेम्पलेट एक्सटेंशन के बिना) और current_page.url निर्देशिका अनुक्रमणिका के बिना पथ है (इसलिए foo/index.html केवल foo बन जाता है)। बिचौलिया के Middleman::Sitemap::Resource rubydoc से

<%= current_page.path %> 
# -> index.html 

<%= current_page.url %> 
# ->/

विवरण। http://rubydoc.info/github/middleman/middleman/Middleman/Sitemap/Resource

+0

में यह संभवतः वर्तमान पथ को उजागर करने और दस्तावेज करने पर विचार करने का सबसे अच्छा तरीका है। – LandonSchropp

+1

कोई विचार है कि होस्टनाम कैसे प्राप्त करें? – DaMainBoss

2

समाधान है:

<%= request.path %> 
+0

यह क्यों काम करता है इसका कोई कारण नहीं है? – jackyalcine

+0

अगर मुझे लगता है, तो मैं कहूंगा कि जब मध्यस्थ एप्लिकेशन बनाता है तो यह एक सर्वर बनाता है, एप्लिकेशन में पेजस का अनुरोध करता है और फ़ाइलों को प्रतिक्रिया लिखता है। लेकिन मैं ईमानदारी से नहीं जानता। – LandonSchropp

+0

@jackyalcine यह वर्तमान पथ के लिए संसाधन ऑब्जेक्ट के लिए उपनाम है https://github.com/middleman/middleman/blob/dd0ee24ca3ae728b00f8987d74c360557c910946/middleman-core/lib/middleman-core/template_context.rb#L165 –

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

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