我正在使用loopback开发自己的网站。 但最近我遇到了hasMany remoteMethod的问题。 这是问题所在: 我有两个模型:
person.json:
{
"name": "Person",
"base": "PersistedModel",
"strict": true,
"idInjection": true,
"properties": {
/*...
....
*/
},
"validations": [],
"relations": {
"friends": {
"type": "hasMany",
"model": "Friend",
"foreignKey": "personId"
}
},
"acls": [],
"methods": []
}
friend.json
friend.json:
{
"name": "friend",
"base": "PersistedModel",
"strict": true,
"idInjection": true,
"properties": {
/*...
....
*/
},
"validations": [],
"relations": {
},
"acls": [],
"methods": []
}
我想在调用POST / api / Persons / {id} / friends时使用beforeRemote。
所以我代码在person.js
module.exports = function(Person) {
Person.beforeRemote('__create__friends', function(ctx, instance, next) {
/*
code here
*/
});
};
但它不起作用!
一开始我认为这是'__create__friends'的问题,但是当我 code.in person中的代码:
module.exports = function(Person) {
Person.disableRemoteMethod('__create__friends');
};
我可以成功禁用'__create__friends'。
那么问题是什么?
任何人都可以帮助我吗?
答案 0 :(得分:8)
因为相关模型的方法附加到Person原型,所以你应该注册这样的钩子:
Person.beforeRemote('prototype.__create__friends', function() {
next()
})