如何正确格式化此EJS三元条件?

时间:2018-07-06 16:30:08

标签: node.js express ejs

我有一个表单,并根据存储在res.locals.isModel中的变量,我希望表单的action属性是动态的。

我的尝试看起来像这样:

<form action=<%= (isModel) ? "/models/<%= model._id %>/comments" : "/photographers/<%= photographer._id %>/comments" %> method="POST">

//all form fields here

</form>

但是,代码编译时会显示:Could not find matching close tag for "<%=".

我确定我格式化不正确,但是无法弄清楚是什么。还是用EJS无法实现这一行代码?我相信这对你们来说是显而易见的,但是以防万一,根据路由的不同,我正在将modelphotographer对象传递到此EJS模板中(即model._idphotographer._id)。

编辑:

实际上,我在工作,所以我无法测试...但是可以吗?

<form action=<%= (isModel) ? "/models/" + model._id + "/comments" : "/photographers/" + photographer._id + "/comments" %> method="POST">

    //all form fields here

    </form>

1 个答案:

答案 0 :(得分:0)

因此,事实证明我的解决方案正常工作。谢谢。

<form action=<%= (isModel) ? "/models/" + model._id + "/comments" : "/photographers/" + photographer._id + "/comments" %> method="POST">

    //all form fields here

    </form>