0

そこで、エクスプレスコーヒーエクスプレスフォームミドルウェアを併用しようとしています。提案されているコントローラー構造に従っています。

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'

結局、これはアクションをインターセプトしません。この場合、エクスプレスミドルウェアをアクションにどのように結び付けますか?

4

1 に答える 1

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);
于 2013-03-25T15:16:58.047 に答える