Sails允许在创建实体时传递id属性,
我想忽略用户发送的id值,并使用autoincrement设置我自己的值
我该怎么做?
答案 0 :(得分:0)
您可以在风帆lifecycle callbacks中为每个模型执行此操作。例如,如果您有User
模型,则可以在models/User.js
中添加:
module.exports = {
attributes: {
// etc
},
beforeCreate: function(attribs, cb) {
// modify the attributes as needed here
delete attribs.id;
cb();
}
}
beforeUpdate
等有类似的回调。不幸的是,这必须在你想要影响的每个模型中完成。
从每个蓝图create
请求中删除ID的一种方法是使用策略。 id
从req.body
剥离POST /:model
,然后将该政策应用于路线POST
(这是将政策直接应用于路线Create a policy的示例)。如果这样做,请小心,因为这可能会掩盖您尝试使用的其他<form #myNgForm="ngForm">
路由。