使用连接闪光与续集

时间:2015-10-25 06:26:43

标签: node.js express sequelize.js connect-flash

我无法在续集回调函数中使用连接闪存。

router.route('/')
    .post(function(aRequest, aResponse) {
        var data = aRequest.body;

        models.users.findOne({
            where: {
                email: data.email
            }
        }).then(function (aUser) {
            if (!aUser) {
                bcrypt.hash(data.password, null, null, function(err, hash) {
                    if(err) {
                        return next(err);
                    }
                    models.users.create({
                            firstname       : data.firstname,
                            lastname        : data.lastname,
                            email               : data.email,
                            password        : hash
                    }).then(function () {
                        aRequest.flash('success', 'User successfully created.');
                    }).done(function () {
                        aResponse.redirect('/login');
                    });
                });
            }
            else {
                // aRequest.flash('error', 'This email address is already registered');
                aResponse.redirect('/login');
            }
        });
});

以上是我当前的代码,尝试了一些变体,在.then()中调用flash和重定向,尝试2 .then()和现在的.done()。

我收到以下错误:

  

未处理拒绝TypeError:undefined不是函数       在Instance.set(/home/node/shared/Heroku/landbou/node_modules/sequelize/lib/instance.js:348:68)

通过删除aRequest.flash(...)可以轻松解决这个问题。

是的,' router.use(flash()); '被召唤到更高的位置。

一切都在继续,所以它不是应用程序破坏错误,但我确实需要消息闪烁,否则我必须创建额外的浪费路由来处理用户注册的成功/失败。

0 个答案:

没有答案