所以我尝试将express-coffee与express-form中间件一起使用,我正在遵循建议的控制器结构。
在channels.coffee(控制器)我有
module.exports =
..
create: (req, res)->
form(
filter('title')
.trim()
.required()
)
console.log 'after filter'
if form.isValid
console.log 'isValid'
else
console.log req.form.title
console.log req.form.title
res.send 'finished'
最后,这不会像它应该的那样拦截动作。在这种情况下,您如何将表达中间件与行动联系起来?
答案 0 :(得分:0)
您从处理程序中调用中间件,而它应该用作路由的参数。
在JS中,它看起来像这样:
var channels = require('./channels');
app.get('/', form(...), channels.create);
如果你想把中间件和你的处理程序放在一起,你可以试试这个(还是JS,我的CS最好生锈;):
// channels.js
module.exports = {
create : [ form(...), function(req, res) {
}]
};
// app.js
var channels = require('./channels');
app.get('/', channels.create);