2011-06-06 4 views

Odpowiedz

18

Można zastąpić domyślny rendering na poziomie kontrolera.

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

Można również zastąpić renderowanie layoutów na poziomie działania kontrolera:

def show 
    render :layout => "layout_for_show_only" 
end 

A jeśli jesteś naprawdę zdesperowany, można zastąpić układy w widoku:

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

Zobacz doskonały przewodnik po szynach na ten temat: layouts and rendering in Rails

ian .

+1

dzięki! Zrobiłem to w kontrolerze .. def show render: layout => false koniec – Themasterhimself

+0

@ Themasterhimself- Jeśli chcesz usunąć go ze wszystkich stron kontrolera, możesz zrobić 'layout nil' na górze kontroler. – rubyprince

+0

Dziękuję bardzo za pomoc: D –

5

Można po prostu dodać do kontrolera:

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

co oznacza, że ​​układ wniosek nie zostanie wygenerowana na koncert i edytować strony