如何使用Express使用路由参数

时间:2017-01-15 21:17:11

标签: node.js mongodb express

我很难用router.params对象与快速连接点。

现在我想让下面代码中的button-success按钮指向一个显示为someaddress.com/formula/:item._id的网址

HTML :( EJS模板引擎)

  <% formulas.forEach(function(item){ %>
  <div class="pure-u-1 pure-u-sm-1-2 pure-u-md-1-4 pure-u-xl-1-5">
      <div class="formula-block centered" id="<%= item._id %>">
        <h4 class="padded-top"> <%= item.name %></h4>
        <p> <%= item.description %></p>
          <button class="button-success pure-button"><a href="/formula/<%= item._id %>">Show</a></button>
          <button class="button-warning pure-button">Delete</button>
    </div>
  </div>
  <% }); %>

我正在使用这条Express路线配对:

router.get('/formula/:id', function(req, res){
  var db = req.db;
  var collection = db.get('formulas');
  var id = req.params.id;
  collection.find({"_id": id}, {}, function(e, doc){
  res.render('formula/:id', {
    formula: doc,
    title: `formula for ${doc.name}`,
    description: `modify and view ${doc.name} formula`
      });
    });
});

然后使用MongoDB文档中的信息生成页面。

我不清楚如何通过查看documentation来完成此操作。

感谢您的帮助。

0 个答案:

没有答案