क्या अंदरूनी लेआउट से वर्तमान में प्रस्तुत किए गए दृश्य का नाम प्राप्त करना संभव है?रेल में लेआउट टेम्पलेट से वर्तमान दृश्य नाम कैसे प्राप्त करें?
उत्तर
मैं सीएसएस नेमस्पेसिंग के लिए कुछ इस तरह किया:
# config/initializers/action_view.rb
ActionView::TemplateRenderer.class_eval do
def render_template_with_tracking(template, layout_name = nil, locals = {})
# with this gsub, we convert a file path /folder1/folder2/subfolder/filename.html.erb to subfolder-filename
@view.instance_variable_set(:@_rendered_template, template.inspect.gsub(/(\..*)/, '').split('/')[-2..-1].join('-'))
out = render_template_without_tracking(template, layout_name, locals)
@view.instance_variable_set(:@_rendered_template, nil)
return out
end
alias_method_chain :render_template, :tracking
end
# application.html.erb
<body class="<%= :@_rendered_template %>" >
विधि active_template_virtual_path विधि निम्नलिखित रूप में एक नाम के रूप में टेम्पलेट रिटर्न "नियंत्रक/कार्रवाई"
class ActionController::Base
attr_accessor :active_template
def active_template_virtual_path
self.active_template.virtual_path if self.active_template
end
end
class ActionView::TemplateRenderer
alias_method :_render_template_original, :render_template
def render_template(template, layout_name = nil, locals = {})
@view.controller.active_template = template if @view.controller
result = _render_template_original(template, layout_name, locals)
@view.controller.active_template = nil if @view.controller
return result
end
end
मेरे लिए काम नहीं करता है। मैं टेम्पलेट में '<% = controller.active_template%>' की कोशिश कर रहा हूं। यह कहता है कि 'अपरिभाषित विधि' active_template'' – Evgenii
<% __FILE__%> आपको वर्तमान टेम्पलेट का नाम देगी – Naveed
यह कहता है: "अनियमित निरंतर एक्शन व्यू :: संकलित टेम्पलेट्स :: फ़ाइल" – user1934428
मैं एक ऐसी ही था सवाल। मुझे अपनी आवश्यकता के अनुरूप <%= params[:controller] %>
और <%= params[:action] %>
मिला, जो कि बॉडी टैग पर कक्षाओं के रूप में नियंत्रक का नाम और क्रिया नाम जोड़ना था।
बस अगर किसी की मदद करता है। :)
उपयोग <% __FILE__ %>
वर्तमान दृश्य की पूरी फ़ाइल पथ प्राप्त करने के लिए, लेकिन आप केवल कुछ सहायकों
लिखे बिना फ़ाइल के भीतर ही से इसका इस्तेमाल मैं वर्तमान में पीटर Ehrlich के का एक संशोधित संस्करण का उपयोग कर रहा कर सकते हैं उपाय। परिणामस्वरूप स्ट्रिंग फॉर्म controller_name/view_name
है, उदा। users/new
, जिसका अर्थ है कि इसे बाद में render
पर सीधे पारित किया जा सकता है, या अन्य उपयोगों के अनुरूप बदल दिया जा सकता है। मैंने रेलवे 4.2 के साथ ही कोशिश की है, हालांकि जहां तक मुझे पता है कि इसे सभी तरह से काम करना चाहिए 3. x es।
ActionView::Base.class_eval do
attr_accessor :current_template
end
ActionView::TemplateRenderer.class_eval do
def render_template_with_current_template_accessor(template, layout_name = nil, locals = {})
@view.current_template = template.try(:virtual_path)
render_template_without_current_template_accessor(template, layout_name, locals)
end
alias_method_chain :render_template, :current_template_accessor
end
उद्देश्य डीबगिंग के लिए, आप मणि 'current_template' here से उपयोग कर सकते हैं।
यह मणि लॉगफाइल का निरीक्षण करता है और दृश्य/आंशिक टेम्पलेट का फ़ाइल नाम प्रदर्शित करता है।
उदाहरण के लिए:
इसके अलावा, आप बस अपने लेआउट/application.html.erb को यह लाइन
<%= "#{`tail log/development.log`}".scan(/\s[a-z]+\/\S+/) %>
जोड़ सकते हैं।
- 1. दृश्य से लेआउट प्राप्त करें
- 2. शानदार टेक्स्ट: वर्तमान दृश्य का फ़ाइल नाम कैसे प्राप्त करें
- 3. Jinja2 टेम्पलेट के अंदर वर्तमान टेम्पलेट का फ़ाइल नाम कैसे प्राप्त करें?
- 4. रेल में टेम्पलेट, आंशिक, और लेआउट?
- 5. टेम्पलेट में लेआउट से कोड अलग करना
- 6. रेल - लेआउट में डोमेन यूआरएल कैसे प्राप्त करें
- 7. वर्तमान फ़ंक्शन का नाम कैसे प्राप्त करें?
- 8. जूमला 1.5 में वर्तमान टेम्पलेट का मार्ग कैसे प्राप्त करें?
- 9. टेम्पलेट टैग में वर्तमान उपयोगकर्ता कैसे प्राप्त करें?
- 10. रेल 3, लेआउट
- 11. रेल, activerecord, वर्तमान कनेक्शन विनिर्देश प्राप्त करें
- 12. दृश्य में वर्तमान पृष्ठ यूआरएल कैसे प्राप्त करें?
- 13. जेएसपी में वर्तमान पृष्ठ का नाम कैसे प्राप्त करें?
- 14. लिनक्स में वर्तमान प्रक्रिया नाम कैसे प्राप्त करें?
- 15. डेल्फी 7 में वर्तमान विधि का नाम कैसे प्राप्त करें?
- 16. वर्तमान कक्षा का नाम प्राप्त करें?
- 17. मिडिलमैन लेआउट फ़ाइल में पृष्ठ का वर्तमान पथ प्राप्त करें
- 18. मेरे रेल मॉडल में वर्तमान रेक कार्य का नाम कैसे प्राप्त करें?
- 19. शेयरपॉइंट वर्तमान उपयोगकर्ता खाता नाम प्राप्त करें?
- 20. एक्शनस्क्रिप्ट - वर्तमान फ़ंक्शन का नाम प्राप्त करें
- 21. PHP वर्तमान निर्देशिका का नाम प्राप्त करें
- 22. Django टेम्पलेट के भीतर वर्तमान यूआरएल कैसे प्राप्त करें?
- 23. वर्तमान कैनवास कैसे प्राप्त करें?
- 24. फ्रीमार्कर टेम्पलेट में होस्टनाम कैसे प्राप्त करें?
- 25. वर्तमान प्रक्रिया में सभी हैंडल का नाम प्राप्त करें
- 26. वर्तमान चल रहे मॉड्यूल पथ/नाम को कैसे प्राप्त करें
- 27. एक रिलेवेटिवआउट में बाल दृश्य प्राप्त करें
- 28. मोशनवेन्ट से अंतर्निहित दृश्य कैसे प्राप्त करें?
- 29. रेल दृश्य दृश्य की बजाय लेआउट चयन को नियंत्रक चिंता क्यों करते हैं? क्या मैं एक दृश्य से लेआउट चुन सकता हूं?
- 30. जावास्क्रिप्ट - वर्तमान उपयोगकर्ता का नाम कैसे प्राप्त करें
आप ऐसा क्यों करना चाहते हैं? –
कौन सा रेल है? –