सिनात्रा Tilt का उपयोग करता है अपने टेम्पलेट्स प्रस्तुत करना, और उनके साथ एक्सटेंशन संबद्ध करने के लिए क्या करना चाहिए। अनुवर्ती सवाल का जवाब देने
Tilt.register Tilt::ERBTemplate, 'html.erb'
get '/hi' do
erb :hello
end
संपादित: आपको बस इतना करना है झुकाएँ यह ERB का उपयोग करना चाहिए बता रहा है कि विस्तार से प्रस्तुत करना। #unregister
नहीं है और यह भी ध्यान दें कि सिनात्रा hello.html.erb पर hello.erb पसंद करेंगे। वरीयता समस्या के रास्ते या तो erb
विधि ओवरराइड या अपने खुद के प्रस्तुत करना विधि बनाने के लिए है:
Tilt.register Tilt::ERBTemplate, 'html.erb'
def herb(template, options={}, locals={})
render "html.erb", template, options, locals
end
get '/hi' do
herb :hello
end
कि hello.html.erb को प्राथमिकता देगी, लेकिन अभी भी hello.erb पर वापस गिर जाएगी अगर यह नहीं कर सकते hello.html.erb खोजें। यदि आप वास्तव में किसी भी परिस्थिति में .erb फ़ाइलों को ढूंढने से रोकना चाहते हैं, तो आप अनुमान लगा सकते हैं, ईआरबी टेम्पलेट को उपclass और इसके बजाय .html.erb के खिलाफ पंजीकरण करें, लेकिन स्पष्ट रूप से यह केवल इसके लायक नहीं है।
स्रोत
2012-07-31 16:12:15
धन्यवाद! महान काम करता है, और '.erb' भी काम करता है। ऐसा नहीं है कि मैं सम्मेलनों को मिश्रण करना चाहता हूं, लेकिन अभी भी जानना आसान है। क्या आप जानते हैं - अगर मैं अब और .html.erb को .erb को संभाल नहीं लेना चाहता था, तो क्या मैं .rb एक्सटेंशन को अक्षम करने के लिए'register' के अलावा कुछ और कह सकता हूं? – mattmc3
आपका स्वागत है। मेरा संपादन देखें –