例如:我们的模型个人资料。每个用户个人资料的属性alias_name
只能设置一次(创建时),并且无法更改(更新时)。
当然,我可以覆盖控制器中的操作.update()
,并从req.body
中删除该属性。但随后失去了所有神奇的蓝图API。
我可以制作更多可以从req.body
删除属性的特殊政策。但不确定是对的。
也许应该在Profile模型的方法.beforeUpdate()
中进行?
怎么做得更好?分享你的经历?
答案 0 :(得分:1)
您可以使用custom validation rule方法获取此属性
// /api/models/profile.js
module.exports = {
attributes: {
alias_name: {
type: 'string',
nonEditable: true
}
},
// ...
types: {
nonEditable: function(prop) {
return prop === null;
}
}
}
因此,此字段只能更改一次(如果您没有为defaultsTo
指定alias_name
。