【问题标题】:SAILS JS 1.0 model callback lifecycle is not calledSAILS JS 1.0 模型回调生命周期不被调用
【发布时间】:2017-12-14 17:19:29
【问题描述】:

好吧,我正在尝试使用 Sails 1.0.0-42 创建用户,问题是未调用用户模型的回调生命周期。我已经尝试了很多方法,但没有任何调用。提前致谢。

这是Action2“注册”的代码:

module.exports = {

   friendlyName: 'Create User',

   description: 'user create action2',

   inputs: {

        name: {
            description: 'user create',
            type: 'string',
            required: true
        },
        email: {
            description: 'user create',
            type: 'string',
            required: true
        },
        password: {
            description: 'user create',
            type: 'string',
            required: true
        },

   },

   exits: {
      notFound: {
        description: 'ERRO create user.',
        responseType: 'notFound'
      }
   },

   fn: async function (inputs, exits) {

        const {name, email, password} = inputs;

        var user = await User.create({name, email, password}).fetch();

        if(!user) return exits.notFound();

        return exits.success(user);

   }
};

这是用户模型代码

    var bcrypt = require('bcrypt');

module.export = {

    attributes: {

        name: {
            type: 'string',
            required: true,
        },

        email: {
            type: 'string',
            required: true,
        },

        password: {
            type: 'string',
            minLength: 6,
            required: true,
            columnName: 'hashed_password'
        },

    },

    // Lifecycle Callbacks

    beforeCreate: function (values, cb) {

        // Hash password
        bcrypt.hash(values.password, 10, function(err, hash) {
            if(err) return cb(err);
            values.password = hash;
            cb();
        });
    }

};

用户已创建,但密码未加密,并且在测试中未调用 beforeCreate。

【问题讨论】:

    标签: node.js express sails.js sails-mongo


    【解决方案1】:

    您的模型文件声明:

    module.export
    

    但它必须是:

    module.exports
    

    s 有很大的不同!

    它完全适用于您当前代码的原因是,默认情况下,内置 sails-disk 数据库是无模式,因此即使您的 User.js 文件没有导出任何内容,它仍然可以让您使用所需的任何字段创建记录。

    【讨论】:

      猜你喜欢
      • 2013-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多