sails.js – 如何在模型钩子beforeCreate中获取会话数据

我想更新模型的字段“所有者”。 所有者需要从包含当前login的用户并创build模型的会话中获取。

我想要这样的东西:

Model = { attributes: { }, beforeCreate(values,next) { var owner_user_id = req.session.user_id; values.owner = owner_user_id; next(); } } 

你确定生命周期callback是正确的吗? 因为它真的不是。 如果明天你需要在CLI任务中使用你的模型或者其他什么东西, 此外,随着协会API的到来,可能会有一种更优雅的方式来实现,但仍然不在模型之中。 所以,现在我只是把你的引用当作一个简单的值来对待,把它设置在action中(从你可以访问req.session )并和其他属性一起传递给构造器,例如:

 ... // Controller code module.exports = { index: function(req, res) { // Whatever gets you the values... values.owner = req.session.user_id; Model.create(values, function(err, model) {...}); }, // Other actions } ...