3

afterCreate我想在模型回调中获取当前登录用户。在控制器中,从请求标头中找到当前登录的用户 - req.user。但是在模型的生命周期回调中,会话标头没有被传递。有没有办法从模型中找到当前用户?

我想要这样的东西:

afterCreate: function(record,next){
    var currentUser=this.req.user.id; //want to get the request header here with logged in user
    AnotherModel.create({something:record.something, createdBy:currentUser}).exec(function(err, anotherRecord){
        next()
    }); 
}
4

1 回答 1

3

req 对象在模型中不可用(出于我不会讨论的原因)。

但是你的问题很常见。许多人所做的是创建一个策略,该策略将在传递给模型的参数上自动设置该参数。

这里有一堆相关的问题和答案

Sails.js 在模型中使用会话参数

是否可以直接在 SailsJS 的模型中访问会话变量

https://github.com/balderdashy/waterline/issues/556

https://github.com/balderdashy/waterline/pull/787

Sails Google 小组讨论该主题

于 2015-05-19T13:03:15.947 回答