찾았습니다.
청사진을 사용하고있을 때 modelName
을 req.options.model
에서 얻을 수 있습니다.
불행히도 this[modelName]
을 사용할 수 없습니다. 옵션으로 작은 문자로 시작하는 모델 이름을 부여하기 때문에 먼저 대문자의 첫 글자를 예를 들어와 같이 입력해야합니다. var modelName = req.options.model.charAt(0).toUpperCase() + req.options.model.slice(1);
그리고 당신은 내가 오직 자신의 그룹 요소를 사용자가 편집을 수 있도록 일반적인 정책을 사용 this[modelName].whateverYouNeed
자유롭게 사용할 수 있습니다.
var modelName = req.options.model.charAt(0).toUpperCase() + req.options.model.slice(1)
var elementID = null
if (req.params.id) { // To handle DELETE, PUT
elementID = req.params.id
}
if (req.body.id) { // To handle POST
elementID = req.body.id
}
this[modelName].findOne({
id: elementID
}).exec(function(err, contextElement) {
if(err) {
return res.serverError(err)
}
if(contextElement.group=== req.user.group.id) {
sails.log('accessing own: ' + modelName)
return next()
}
else {
return res.forbidden('Tried to access not owned object')
}
})