2010-05-06 3 views
0

Когда попытка я следующий код в контроллере, вид делает без с использованием макетаМожно ли использовать частичные части с возможностью компоновки внутри контроллера?

def xyz 
    render :partial => 'platinum_home', :layout => 'platinum_layout' 
    end 

Но если я следующий внутри частичного

<% render(:layout => "platinum_layout") do %> 
    blah blah blah 
<% end %> 

Он работает просто отлично, это первый пример невозможно использовать рельсы?

+0

Должно работать нормально. Какую версию рельсов вы используете? У вас есть макет макроса в верхней части вашего контроллера? – concept47

ответ

2

В контроллере в верхней части добавить следующее:

class SomeController < ApplicationController 
    layout "platinum_layout", :only => :xyz 
1

Частичная визуализация в контроллере чаще всего используется вместе с Ajax вызовов, которые только обновить один или несколько элементов на странице без перезагрузки. Оказание частичных действий с контроллером позволяет использовать один и тот же частичный шаблон как для полностраничного рендеринга (путем вызова его из шаблона), так и при возникновении обновлений подстраницы (из действия контроллера, отвечающего на вызовы Ajax). По умолчанию текущий макет не используется.

Итак, чтобы использовать текущий макет для вашего только что использованного.

def xyz 
    render :partial => 'platinum_home', :layout => true 
    end 
Смежные вопросы