Sails.js 如何将函数中的默认值添加到Sailsjs中的模型
这是我的模型Sails.js 如何将函数中的默认值添加到Sailsjs中的模型,sails.js,Sails.js,这是我的模型 module.exports = { attributes: { ip: { type: 'ip' }, useragent: { type: 'text' }, type: 'int' } } }; 所以我需要的是,在创建记录之前,我需要从传入的请求中自动填充ip和useragent 这是否可行 谢谢是的,您可以使用
module.exports = {
attributes: {
ip: {
type: 'ip'
},
useragent: {
type: 'text'
},
type: 'int'
}
}
};
所以我需要的是,在创建记录之前,我需要从传入的请求中自动填充ip和useragent
这是否可行
谢谢是的,您可以使用Lifecyclecallbacks(请参阅:)
module.exports={
属性:{
知识产权:{
类型:“ip”
},
用户代理:{
键入:“文本”
},
},
//生命周期回调
创建前:函数(值,cb){
values.ip=
values.useragent=
cb();
});
};
您可以通过在req.options
上设置一些属性,通过Sails来实现这一点。如果您有一个用户
模型,并且正在使用蓝图创建
路线,那么在配置/策略中,您将有:
UserController: {
create: 'setValues'
}
在api/policies/setValues.js中:
module.exports = function(req, res, next) {
req.options.values = req.options.values || {};
req.options.values.ip = <SET IP>;
req.options.values.agent = <SET USER AGENT>;
return next();
};
module.exports=功能(req、res、next){
req.options.values=req.options.values | |{};
req.options.values.ip=;
req.options.values.agent=;
返回next();
};
我不记得获得用户IP的首选方式,但看起来很有希望。对于用户代理,您可以尝试req.headers['user-agent']
如果您使用的是自定义控制器操作,而不是蓝图,这仍然可以正常工作,您只需将请求传递的值与req.options.values合并即可。values
我特别说过“我需要从请求中获取值。我不想手动填充值
module.exports = function(req, res, next) {
req.options.values = req.options.values || {};
req.options.values.ip = <SET IP>;
req.options.values.agent = <SET USER AGENT>;
return next();
};