我有两个模型:
user.js
module.exports = {
attributes: {
...
profile: {
model: 'Profile'
},
groups: {
collection: 'group',
via: 'users',
dominate: true
},
roles: {
collection: 'role',
via: 'users',
dominate: true
}
}};还有,group.js
module.exports = {
attributes: {
...
users: {
collection: 'user',
via: 'groups'
}
}};当我尝试将用户添加到组中时(当我选择一个组并将用户添加到组中时),它会正常工作。
var defer = q.defer();
baseDbContext.single(req, 'users')
.then(function(op){
if(!op.status || !op.obj) {
defer.resolve(notFound);
return;
}
op.obj.users = [];
_.each(req.users, function(item){
op.obj.users.add(item);
});
op.obj.save(function(err, obj){
if(err) defer.reject(operationResult().throwException(err));
else defer.resolve(operationResult().succeed());
});
});
return defer.promise;但是,当我尝试向用户添加组时(当我选择用户并向其添加组时),它会静默失败!
var defer = q.defer();
baseDbContext.single(req, 'groups')
.then(function(op){
if(!op.status || !op.obj) {
defer.resolve(notFound);
return;
}
op.obj.groups = [];
_.each(req.groups, function(item){
op.obj.groups.add(item);
});
op.obj.save(function(err, obj){
if(err) defer.reject(operationResult().throwException(err));
else defer.resolve(operationResult().succeed());
});
});
return defer.promise;当我在sails控制台中检查它时,它显示:
throw new Error('Unknown rule: ' + ruleName);
Error: Unknown rule: dominate这是一个简单的多对多插入,为什么它会失败呢?(关于代码的说明,函数baseDbContext.single根据对象的id查找对象,第二个参数用于填充)
发布于 2015-03-26 20:35:03
看起来你有一个印刷错误,documentation说你需要的规则是写成“主导:真”,而不是“统治:真”。
https://stackoverflow.com/questions/28415244
复制相似问题