CompoundJS和Jade模板

时间:2013-07-22 07:56:05

标签: pug compoundjs

我正在使用带有CompoundJS的“Jade”视图引擎,但是当我在控制器中调用render()方法时它没有使用正确的Jade工作流(例如,它总是呈现相同的布局,产生内部模板为布局的body参数。)

我需要知道如何:

  • 从控制器更改布局(它始终使用application_layout.jade)并且能够在没有布局的情况下进行渲染
  • 正常渲染视图,以便我在视图模板本身中指定布局(例如,明确指定我正在扩展哪个模板,使用像“扩展布局”这样的Jade指令)

2 个答案:

答案 0 :(得分:0)

您可以使用自己的身份覆盖application_layout。它是基于会议的。

例如,如果您要使用其他布局覆盖login视图,则需要添加新模板app/views/layouts/login_layout.ejs

内部模板指定为<%- body %>

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

答案 1 :(得分:0)

在使用

控制器操作中调用render之前,可以指定要使用的其他布局
this.layout = "myLayout"; // uses app/assets/views/layouts/myLayout_layout.[ejs/jade/etc.]
this.layout = false; // uses no layout
render();

我认为不可能在视图模板中指定布局