0

我尝试使用 mongoose 和 expressjs 查找和文章。我有搜索表单,输入设置为变量“titless”。

这是我的 app.js 文件:

app.get('/', function(req, res){
    postdb.findAll( function(error,docs){
        res.render('index.jade', {
            locals: {
                title: 'test',
                articles:docs
            }
        });
    })

});

app.post('/.:titles?', function(req, res) {
    postdb.findByTitle(req.params.titless, function(error, article) {
        res.render('blog_show.jade',
        { locals: {
            title: article.title,
            article:article
        }
        });
    });

});

继承人 findbytitle 方法:

PostDB.prototype.findByTitle = function(titless, callback) {
    this.getCollection(function(error, article_collection) {
      if( error ) callback(error)
      else {
        article_collection.findOne({title: titless}, function(error,
result) {
          if( error ) callback(error)
          else callback(null, result)
        });
      }
    });

};

当我单击搜索按钮时,它会将我转发到 localhost/? 标题=关键字页面,但我仍然看到没有搜索文章的索引页面:/。

4

1 回答 1

0
res.render('blog_show.jade', { 
  locals: {
    title: article.title,
    article:article
  }
});

我不是 100% 确定,但你必须定义本地人吗?不应该是以下吗?

res.render('blog_show.jade', { 
  title: article.title,
  article:article
});
于 2012-06-01T18:44:30.340 回答