2013-07-22 3 views
0

Я использую механизм просмотра «Jade» с CompoundJS, однако он не использует надлежащий рабочий процесс Jade, когда я вызываю метод render() в контроллере (например, он всегда визуализирует один и тот же макет, уступая внутренний шаблон в качестве параметра тела макета).CompoundJS и Jade шаблоны

мне нужно знать, как либо:

  • Изменить расположение от контроллера (его всегда используя application_layout.jade) и быть в состоянии оказать без макета
  • рендер взглядов нормально, так что у меня есть расположение указано в самом шаблоне вида (например, указав явно какой шаблон я расширяясь, с директивой Джейд, как «расширить макет»)

ответ

0

Вы можете переопределить application_layout с вашим собственным. Это основано на соглашениях.

Например, если вы хотите переопределить вид login с другим расположением, вы должны добавить новый шаблон app/views/layouts/login_layout.ejs.

Внутренний шаблон указан как <%- body %>.

<!-- Different markup before --> 
<%- body --> 
<!-- Different markup after --> 
0

Вы можете указать другое расположение для использования перед вызовом рендеринга в действии контроллера с

this.layout = "myLayout"; // uses app/assets/views/layouts/myLayout_layout.[ejs/jade/etc.] 
this.layout = false; // uses no layout 
render(); 

Я не думаю, что можно указать расположение в шаблоне вида