Вы можете использовать только макеты рельсов на controller
уровне и индивидуальных action
уровнях.
Уникальный макет в для каждого контроллера
class MessagesController < ApplicationController
layout "admin"
def index
# logic
end
end
** выше линии layout "admin"
будет загрузить расположение ADMIN каждый раз, когда контроллер получает сообщение вызывается. Для этого необходимо иметь макет, созданный в файле layouts/admin.html.rb
. **
Динамический макет для каждого контроллера
class MessagesController < ApplicationController
layout :dynamic_layout
def index
# logic
end
protected
def dynamic_layout
if current_user.admin?
"admin" # Show admin layout
else
"other_layout" # Show other_layout
end
end
end
# Индивидуальные действия Уровень Макеты Если вы хотите отобразить различные схемы каждое действие вы можете сделать это.
class MessagesController < ApplicationController
layout :dynamic_layout
def index
# logic
render :action => 'index', :layout => 'index_layout'
end
def show
# logic
render :action => 'show', :layout => 'show_layout'
end
end