2013-07-22 91 views
0

我使用CompoundJS的「Jade」視圖引擎,但是當我在控制器中調用render()方法時,它不使用正確的Jade工作流程(例如,它始終呈現相同的佈局,產生內部模板作爲佈局的主體參數)。CompoundJS和Jade模板

我需要知道如何可以:

  • 變化來自控制器的佈局(它總是使用application_layout.jade),並能夠使沒有佈局
  • 渲染視圖正常,所以我有在視圖模板本身內指定的佈局(例如,通過明確指定要擴展的模板,使用「擴展布局」之類的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(); 

之前使用,我不認爲這是可能的視圖模板指定佈局