gpt4 book ai didi

sails.js - 如何访问sails.js生命周期回调中的请求对象?

转载 作者:行者123 更新时间:2023-12-04 17:09:00 26 4
gpt4 key购买 nike

假设我有这个模型:

module.exports = {

attributes: {

title: {
type: 'string',
required: true
},

content: {
type: 'string',
required: true
},

createdBy: {
type: 'string',
required: true
}
}
}

我需要将当前用户 ID 设置为模型的 createdBy 属性。我以为我可以使用 beforeValidate 生命周期回调来做到这一点,但我无法访问存储当前用户的请求对象。有没有办法访问它,或者我应该以其他方式解决这个问题?

我试过这个没有成功:
beforeValidate: function (values, next) {
var req = this.req; // this is undefined
values.createdBy = req.user.id;
next();
}

最佳答案

由于请求超出了 ORM 的范围,我猜我的方法是错误的,我需要将 createdBy 数据添加到中间件中的 req.body 中。但由于不是对每个请求都这样做,我猜最好用策略来做到这一点。像这样:

PostController: {

'*': ['passport', 'sessionAuth'],

create: ['passport', 'sessionAuth',
function (req, res, next) {
if (typeof req.body.createdBy === 'undefined') {
req.body.createdBy = req.user.id;
}
next();
}
]
}

这样我就不需要覆盖蓝图。

关于sails.js - 如何访问sails.js生命周期回调中的请求对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28370497/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com