2011-06-06 7 views
11

मैं किसी विशेष पृष्ठ पर प्रतिपादन से लेआउट application.html.erb को कैसे हटा सकता हूं। अब यह मेरे आवेदन के सभी पृष्ठों पर दिखाई दे रहा है।रेल पेज पर कणिका रूबी से एप्लिकेशन लेआउट को कैसे हटाया जाए?

उत्तर

18

आप नियंत्रक स्तर पर डिफ़ॉल्ट प्रतिपादन ओवरराइड कर सकते हैं।

class Admin::HomeController < Admin::BaseController 
    layout "admin" 

तुम भी एक नियंत्रक कार्रवाई स्तर पर लेआउट के प्रतिपादन ओवरराइड कर सकते हैं:,

def show 
    render :layout => "layout_for_show_only" 
end 

और अगर आप वास्तव में हताश हैं, तो आप ध्यान में रखते हुए लेआउट ओवरराइड कर सकते हैं:

<%= render "print_view", :layout => "print" %> 

विषय पर उत्कृष्ट रेल गाइड देखें: layouts and rendering in Rails

इयान ।

+1

धन्यवाद! मैंने इसे नियंत्रक में किया .. डीफ शो प्रस्तुत करें: लेआउट => झूठा अंत – Themasterhimself

+0

@ दमास्टरहैम- यदि आप इसे नियंत्रक के सभी पृष्ठों से हटाना चाहते हैं, तो आप 'लेआउट नील' को शीर्ष पर कर सकते हैं नियंत्रक। – rubyprince

+0

इस सहायता के लिए बहुत बहुत धन्यवाद: डी –

5

आप बस नियंत्रक को जोड़ सकते हैं:

layout false, only: [:show, :edit] 

जिसका अर्थ है, कि आवेदन लेआउट शो और संपादित पृष्ठों के लिए प्रदान की गई नहीं की जाएगी