我是一个有用的助手,可以为您翻译文本。
标题页面上有一个链接,文本为post.title,URL为post.URL。当用户点击链接时(例如domain.com/12345),他们应该被带到一个名为content的页面,其中包含内容post.body。
如何才能a)将URL传回我的app.js文件以包含在app.get中,b)在此路由器文件中包含app.get函数,或c)以任何其他方式解决此问题?
编辑:我确实有一个名为“titles”的对象,它是一个mongodb集合,但它在另一个模块中。没有理由不能将其添加到路由器中。
编辑:我尝试将以下内容添加到app.js中,以查看它是否起作用:
我正在构建一个具有类似reddit功能的网站。我希望用户提交的内容可以获得自己的页面。每个提交都被分配一个5个字符的ID,我希望这个ID出现在该页面的URL中。
我在路由文件中有这个函数,它呈现了一个名为titles的页面:
exports.titles = function(req, res){
i = 0
read(function(post){
url = post[i].URL;
res.render('titles', {title: post[i].title, url: post[i].URL});
});
};
这个语句在 app.js 中被执行:
app.get('/titles', home.titles); //home.js is the router file
标题页面上有一个链接,文本为post.title,URL为post.URL。当用户点击链接时(例如domain.com/12345),他们应该被带到一个名为content的页面,其中包含内容post.body。
如何才能a)将URL传回我的app.js文件以包含在app.get中,b)在此路由器文件中包含app.get函数,或c)以任何其他方式解决此问题?
编辑:我确实有一个名为“titles”的对象,它是一个mongodb集合,但它在另一个模块中。没有理由不能将其添加到路由器中。
编辑:我尝试将以下内容添加到app.js中,以查看它是否起作用:
app.get('/:id', function(req, res){
return titles.findOne({ id: req.params.id }, function (err, post) {
if (err) throw(err);
return res.render('content', {title: post.title, content: post.body});
});
});
编辑:我已经解决了。我所做的只是将标题格式化,使其看起来像domain.com/titles/12345,并将app.get('/:id'更改为app.get('/titles/:id',...