我必须过度复杂的简单问题......
我想为包含/edit-post
的任何网址添加脚本文件。问题是,我的编辑器URL将始终以这样的帖子标题为后缀:/edit-post/some-post-title
,因此我的Pug条件永远不会评估为真。
换句话说,我正在寻找一个条件语句,在以下两个示例条件中都是如此:
/edit-post/some-post-title
/edit-post/an-even-better-post-title
我已经可以访问路径url变量,并且我的条件在完全匹配时工作正常,所以我试图将其扩展到后缀子目录。这就是我的开始:
if path === '/edit-post'
//my script file
是否有可能在Pug中包含正则表达式或可能包含某种“包含”语句的方法?
我在想"/edit-post.*"
或"edit-post[s/S]"
之类的东西。也绝望并尝试使用.indexOf()
所有你比我聪明的人都知道在Pug模板中不起作用!
也许有更好的方法来实现这一目标?搜索了几个小时。尝试了一百个组合。帕格的文档很少。 Plz发送帮助! :)
旁注:我确实找到了这个整洁的小Pug / Jade条件文档我一直在用作测试人员。可能有用。 http://learnjade.com/tour/conditionals/
提前致谢!
答案 0 :(得分:1)
其实我推荐你:
1)重新考虑你的路由
2)为管理面板布局创建/layouts/admin
3)创建/admin/posts/edit
视图以进行编辑
但是对于你的问题,这是一个简单的例子:
router.get('/post/:slug/edit', (req, res) => {
Post
.findOne({slug: req.params.slug})
.exec((err, post) => {
res.render('post', {includeEdit: true, post});
});
});
Post
是mongoose模型并在您的视图文件中:
if includeEdit === true
include partials/edit