使用相同的玉视图进行编辑和创建

时间:2013-03-11 09:39:01

标签: node.js express pug

希望这不是太愚蠢的问题,因为我试图绕过节点。

我一直在关注快速框架,并试图解决创建/编辑视图的简单问题。

如果我有如下的玉视图:

input(name='bar', id='bar', value=#{foo.bar})

视图需要模型I上的属性foo.bar传回,对编辑屏幕很好。但是,如果这是一个创建屏幕,我真的不想要传回一个空模型。应如何处理?这只是我必须传回空模型的情况吗?如果是这样,任何指向模式的指针都会很棒。

感谢。

(我知道我遗漏了一些基本的东西)

1 个答案:

答案 0 :(得分:4)

我自己做了这个,只是总是确保有一个foo-object,然后再引用foo.bar。这可以通过很多方式完成。你可以劫持res.render或使用你自己的自定义渲染方法,就像这样(在初始化的时候):

express.response.renderFooAdmin = function (view, data, callback) {
    data.foo = data.foo || {};
    this.render(view, data, callback);
};

在你的路线中:

res.renderFooAdmin('view', data);

直接引用对象而不是通过#{}块来不打印“undefined”:

input(name='bar', id='bar', value=foo.bar)