2010-02-28 9 views
6

क्या कोई टेम्पलेट टेम्पलेट प्राप्त करने का कोई तरीका है? मैं रेल का उपयोग नहीं कर रहा हूँ।क्या मैं एक एआरबी टेम्पलेट का वारिस कर सकता हूं?

+0

जब आप किसी अन्य टेम्पलेट से प्राप्त करते हैं तो आप क्या होने की उम्मीद करते हैं? आप टेम्पलेट, या इसके हिस्से को ओवरराइड करने की अपेक्षा कैसे करेंगे? – molf

+1

अन्य टेम्पलेट्स की तरह करें। उदाहरण के लिए पार्ट्स उन सभी के लिए जेनेरिक हो सकते हैं, जैसे कि पाद लेख और हेडर। – Geo

+1

कृपया विस्तार से समझाएं कि आप क्या चाहते हैं – johannes

उत्तर

3

नहीं, आप एक ERB टेम्पलेट के वारिस नहीं कर सकते - यह एक वर्ग नहीं है यह सिर्फ एक फ़ाइल है

संपादित करें:।। @ दान की टिप्पणी के अनुसार

, मैं Django टेम्पलेट विरासत पर एक दृष्टि डाली तथा यह रेल content_for के समान दिखता है। हालांकि मुझे नहीं पता कि रेल के बाहर इसका उपयोग कैसे करें। अंक 3.2 और 3.3, औरपर here देखें।

+4

मुझे नहीं लगता कि आपने सवाल का जवाब दिया है। यदि आपको Django टेम्पलेट्स के साथ कोई अनुभव हुआ है, तो आप समझेंगे कि वह क्या पूछने की कोशिश कर रहा है। –

5

आप जो खोज रहे हैं वह partials और layouts है। आप अपने पृष्ठ के लिए एक कंटेनर के रूप में एक लेआउट परिभाषित कर सकते हैं जिसमें वैश्विक डिज़ाइन सामग्री (आपका सीएसएस और जावास्क्रिप्ट शामिल है, हेडर और पाद लेख इत्यादि हैं। इस दृश्य के अंदर, आप yield किसी अन्य टेम्पलेट में कर सकते हैं, और वह टेम्पलेट partials प्रस्तुत कर सकता है।

+1

रेल में यह सच है, लेकिन रेल में नहीं होने पर यह वास्तव में सही है? –

+0

नहीं। रेल आपके लिए उन तरीकों को संभालती है। हालांकि आप एक्शनकंट्रोलर के लिए रेल स्रोत कोड देख सकते हैं, क्योंकि इसमें उपयुक्त विधियां हैं, और आप या तो आवश्यक मॉड्यूल शामिल कर सकते हैं, या उन्हें स्वयं लागू कर सकते हैं। –

+0

हाँ, मैं उनके बारे में जानता हूं, लेकिन दुर्भाग्य से मैं रेल का उपयोग नहीं कर रहा हूं। मैं एक सिनात्रा व्यक्ति हूं :) – Geo

5

मुझे भी वास्तव में django टेम्पलेट विरासत पसंद है, लेकिन यह कम से कम sinatra के साथ उपलब्ध नहीं है।

sinatra book बताते हैं कि कैसे आप एक layout.erb उपयोग कर सकते हैं एक मानक पृष्ठ लेआउट परिभाषित करने के लिए:

तुम बस की तरह कुछ के साथ एक views/layout.erb फ़ाइल परिभाषित करने की जरूरत:

<html> 
    <head>..</head> 
    <body> 
    <%= yield %> 
    </body> 
</html> 

और फिर साथ अपने ERB टेम्पलेट फोन उदाहरण के लिए erb :index। सिनात्रा दोनों टेम्पलेट्स प्रस्तुत करेगा और लेआउट.एरबी प्रतिपादन के परिणामस्वरूप आपके इंडेक्स टेम्पलेट की सामग्री शामिल करेगा।

+0

क्या टेम्पलेट के एक से अधिक हिस्से को ओवरराइड करने का कोई तरीका है? कहें, '' तत्व की सामग्री निर्दिष्ट करने के लिए? – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/707111/">Ryan</a></span> <span></span> </small> </span> </p> </div> </div> </div> <div itemprop="comment" class="post-comment"> <div class="row"> <div class="col-lg-1"><span class="text-secondary">+0</span></div> <div class="col-lg-11"> <p class="commenttext">ऐसा करने का सबसे अच्छा तरीका शायद https://github.com/sinatra/sinatra-contrib/blob/master/lib/sinatra/content_for.rb का उपयोग करना है, फिर आप केवल 'content_for: some_key' का उपयोग कर सकते हैं और फिर ' yield_content: कुछ लेआउट आपके लेआउट में – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/87191/">simao</a></span> <span></span> </small> </span> </p> </div> </div> </div> </div> </div> </article> <article class="board-top-1 padding-top-10"> <div class="post-col vote-info"> <span class="count">0<i class="fa fa-thumbs-up"></i></span> </div> <div class="post-offset"> <div class="answer fmt"> <p>अब फ्रेमवर्क <a href="https://github.com/botanicus/rango" rel="nofollow">Rango</a> है, टेम्पलेट विरासत के साथ पहला रूबी ढांचा, और एक ढांचा-अज्ञेय <a href="https://github.com/botanicus/template-inheritance" rel="nofollow">template inheritance</a> मणि, निकाला गया है।</p> </div> <div class="post-info"> <div class="post-meta row"> <p class="text-secondary col-lg-6"> <span class="source"> <a rel="noopener" target="_blank" href="https://stackoverflow.com/q/14145861">स्रोत</a> </span> </p> <p class="text-secondary col-lg-6"> <span class="float-right date"> <span>2013-01-03 19:33:28</span> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/852439/">sgtpep</a></span> </p> <p class="col-12"></p> <p class="col-12"></p></div> </div> </div> </article> <div> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="1038284119" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> <div class="clearfix"> </div> <div> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-6208739752673518" data-ad-slot="1575177025"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="padding-top-10"></div> </div> </div> <script type="text/javascript" src="http://img.uwenku.com/uwenku/script/side.js?t=1644592048592"></script> <script type="text/javascript" src="http://img.uwenku.com/uwenku/plugin/highlight/highlight.pack.js"></script> <link href="http://img.uwenku.com/uwenku/plugin/highlight/styles/docco.css" media="screen" rel="stylesheet" type="text/css" /> <script type="text/javascript"> $('pre').each(function(i, e) { hljs.highlightBlock(e, "<span class='indent'> </span>", false) }); </script> <div class="col-lg-3 col-md-4 col-sm-5"> <div id="rightTop"> <div class="row"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="5415218910" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="row sidebar panel panel-default"> <div class="panel-heading font-bold"> नवीनतम प्रश्न </div> <div class="m-b-sm m-t-sm clearfix"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://hi.uwenku.com/question/p-kcfovort-x.html" target="_blank" title="मैं उबंटू"> मैं उबंटू </a> </li> <li class="side_article_list_item"> 2. <a href="http://hi.uwenku.com/question/p-homybpks-bb.html" target="_blank" title="कतार"> कतार </a> </li> <li class="side_article_list_item"> 3. <a href="http://hi.uwenku.com/question/p-dfkuedph-s.html" target="_blank" title="फेसबुक इन रीडायरेक्ट्स को कैसे कर रहा है?"> फेसबुक इन रीडायरेक्ट्स को कैसे कर रहा है? </a> </li> <li class="side_article_list_item"> 4. <a href="http://hi.uwenku.com/question/p-bvshisfw-b.html" target="_blank" title="विजुअल स्टूडियो गटर विंडो में अजीब तीर"> विजुअल स्टूडियो गटर विंडो में अजीब तीर </a> </li> <li class="side_article_list_item"> 5. <a href="http://hi.uwenku.com/question/p-gfjyxmjd-c.html" target="_blank" title="स्प्रिंग @ ट्रान्सैक्शनल (प्रचार = प्रचार। सपोर्ट्स) का उपयोग कब करें?"> स्प्रिंग @ ट्रान्सैक्शनल (प्रचार = प्रचार। सपोर्ट्स) का उपयोग कब करें? </a> </li> <li class="side_article_list_item"> 6. <a href="http://hi.uwenku.com/question/p-qewerhdg-h.html" target="_blank" title="नेटबीन लाइसेंस टेम्पलेट में $ {project.organization} को नहीं पहचानता"> नेटबीन लाइसेंस टेम्पलेट में $ {project.organization} को नहीं पहचानता </a> </li> <li class="side_article_list_item"> 7. <a href="http://hi.uwenku.com/question/p-fzcirlgd-bk.html" target="_blank" title="प्रॉक्सी क्लाइंट पोस्ट और PUT अनुरोधों को रिवर्स कैसे करें node-http-proxy"> प्रॉक्सी क्लाइंट पोस्ट और PUT अनुरोधों को रिवर्स कैसे करें node-http-proxy </a> </li> <li class="side_article_list_item"> 8. <a href="http://hi.uwenku.com/question/p-hkiqcjlo-bh.html" target="_blank" title="एक वेक्टर कॉपी कब किया जाता है, एक संदर्भ कब पास किया जाता है?"> एक वेक्टर कॉपी कब किया जाता है, एक संदर्भ कब पास किया जाता है? </a> </li> <li class="side_article_list_item"> 9. <a href="http://hi.uwenku.com/question/p-ysadkrwe-be.html" target="_blank" title="Lucene और एसक्यूएल सर्वर - सबसे अच्छा अभ्यास"> Lucene और एसक्यूएल सर्वर - सबसे अच्छा अभ्यास </a> </li> <li class="side_article_list_item"> 10. <a href="http://hi.uwenku.com/question/p-sttgpysn-bk.html" target="_blank" title="क्यों आंतरिक एचटीएमएल काम नहीं करता"> क्यों आंतरिक एचटीएमएल काम नहीं करता </a> </li> </ul> </div> </div> </div> <p class="article-nav-bar"></p> <div class="row sidebar article-nav"> <div class="row box_white visible-sm visible-md visible-lg margin-zero"> <div class="top"> <h3 class="title"><i class="glyphicon glyphicon-th-list"></i> संबंधित मुद्दे</h3> </div> <div class="article-relative-content"> <ul class="side_article_list"> <li class="side_article_list_item">कोई संबंधित समस्या नहीं^_^</li> </ul> </div> </div> </div> </div> </div> </div> </div><!-- wrap end--> <!-- footer --> <footer id="footer"> <div class="bg-simple lt"> <div class="container"> <div class="row padder-v m-t"> <div class="col-xs-8"> <ul class="list-inline"> <li><a href="http://hi.uwenku.com/contact">हमसे संपर्क करें</a></li> <li>© 2020 HI.UWENKU.COM</li> <li><a target="_blank" href="https://beian.miit.gov.cn/">沪ICP备13005482号-4</a></li> <li><script type="text/javascript" src="https://v1.cnzz.com/z_stat.php?id=1280101193&web_id=1280101193"></script></li> <li><a href="http://www.uwenku.com/" target="_blank" title="优文库">简体中文</a></li> <li><a href="http://hk.uwenku.com/" target="_blank" title="優文庫">繁體中文</a></li> <li><a href="http://ru.uwenku.com/" target="_blank" title="поле вопросов и ответов">Русский</a></li> <li><a href="http://de.uwenku.com/" target="_blank" title="Frage - und - antwort - Park">Deutsch</a></li> <li><a href="http://es.uwenku.com/" target="_blank" title="Preguntas y respuestas">Español</a></li> <li><a href="http://hi.uwenku.com/" target="_blank" title="कार्यक्रम प्रश्न और उत्तर पार्क">हिन्दी</a></li> <li><a href="http://it.uwenku.com/" target="_blank" title="IL Programma di chiedere Park">Italiano</a></li> <li><a href="http://ja.uwenku.com/" target="_blank" title="プログラム問答園区">日本語</a></li> <li><a href="http://ko.uwenku.com/" target="_blank" title="프로그램 문답 단지">한국어</a></li> <li><a href="http://pl.uwenku.com/" target="_blank" title="program o park">Polski</a></li> <li><a href="http://tr.uwenku.com/" target="_blank" title="Program soru ve cevap parkı">Türkçe</a></li> <li><a href="http://vi.uwenku.com/" target="_blank" title="Đáp ứng viên">Tiếng Việt</a></li> <li><a href="http://fr.uwenku.com/" target="_blank" title="Programme interrogation Park">Française</a></li> </ul> </div> </div> </div> </div> </div> </footer> <!-- / footer --> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?f78a970f17b19a79fc477a3378096f29"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>