Sails js忽略创建/更新请求中的id

时间:2018-04-12 08:28:23

标签: sails.js

Sails允许在创建实体时传递id属性,

我想忽略用户发送的id值,并使用autoincrement设置我自己的值

我该怎么做?

1 个答案:

答案 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的一种方法是使用策略。 idreq.body剥离POST /:model,然后将该政策应用于路线POST(这是将政策直接应用于路线Create a policy的示例)。如果这样做,请小心,因为这可能会掩盖您尝试使用的其他<form #myNgForm="ngForm">路由。