Giả sử tôi có mô hình này:Cách truy cập đối tượng yêu cầu trong cuộc gọi lại vòng đời sails.js?
module.exports = {
attributes: {
title: {
type: 'string',
required: true
},
content: {
type: 'string',
required: true
},
createdBy: {
type: 'string',
required: true
}
}
}
tôi cần phải thiết lập các user id hiện tại để thuộc tính createdBy của mô hình. Tôi nghĩ rằng tôi có thể làm điều đó với callback vòng đời beforeValidate, nhưng tôi không thể truy cập đối tượng yêu cầu nơi người dùng hiện tại được lưu trữ. Có cách nào để truy cập nó không, hay tôi nên giải quyết bằng cách nào đó khác?
Tôi cố gắng này không có thành công:
beforeValidate: function (values, next) {
var req = this.req; // this is undefined
values.createdBy = req.user.id;
next();
}
Tôi ngạc nhiên khi nhiều người không đề xuất điều này. Luôn thêm nó vào bộ điều khiển là một mục tiêu chống mẫu để lập kế hoạch chi tiết. Các chính sách giúp việc này trở nên dễ dàng hơn nhiều. –
Ok, nhưng làm thế nào để tôi có thể truy cập vào req bên trong vòng đời gọi lại nhờ chính sách này? – pie6k
Tuyệt vời! Điều này giải quyết được vấn đề của tôi! –