我想更新模型的字段“所有者”.需要从包含当前登录用户并正在创建模型的会话中提取所有者.
我想要这样的东西:
Model = { attributes: { },beforeCreate(values,next) { var owner_user_id = req.session.user_id; values.owner = owner_user_id; next(); } }
解决方法
您确定生命周期回调是正确的地方吗?因为它真的不是.如果明天您需要在CLI任务中使用您的模型或其他无会话的东西怎么办?此外,随着协会API的到来,可能会有更优雅的方式来实现它,但仍然在模型之外.所以,现在我只是将你的引用视为一个简单的值,在动作中设置它(从你可以访问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 } ...