使用Sequelize.js创建简单PUT请求时出错

Getting error when creating simple PUT request using Sequelize.js

本文关键字:请求 出错 PUT 简单 Sequelize js 创建 使用      更新时间:2023-09-26

我正在尝试学习sequelize.js,我得到了更新方法的TypeError d:

TypeError:无法读取未定义的属性"params"

我正在尝试获取路线的参数并更改其值。我正在尝试获得用户名并更改其用户名和密码。这是我的代码:

module.exports = function (sequelize) {
    var model = require("../models/employer_model")(sequelize);
    var Employer = model.Employer;
    return {
        create: function (req, res) {
            if (req.body.username && req.body.password != null) {
                var newEmployer = {
                    username: req.body.username,
                    password: req.body.password
                }
            Employer.create(newEmployer).success(function () {
                res.send(200);
                res.json(req.dataValues);
            });} else {
                res.send(406);
            }
        },
        get: function (req, res) {
            Employer.findAll().success(function (employers) {
                res.send(employers);                
            });
        },
        update: function (req, res) {
            Employer.req.params.id = req.body;
            Employer.save().success(function (employers){
                res.send(200);
                res.json(req.dataValues);
            });
        }
    };
};

这是server.js

// app dependencies
var express = require("express");
var Sequelize = require("sequelize");
var bodyParser = require('body-parser');
var morgan = require('morgan');
var app = express();
var models = require("./models"); 
//sequalize initialization
var sequelize = new Sequelize("postgres://rahul:jobletics@localhost:5432/jobletics");
var employerRoute = require("./routes/employer_route")(sequelize);
//middleware
app.use(bodyParser());
app.use(morgan('dev'));
models.sequelize.sync().success(function (err) {
    console.log('Express server listening on port 5000');
    app.get("/employer", employerRoute.get);
    app.post("/employer", employerRoute.create);
    app.put("/employer/:id", employerRoute.update);
    app.listen(5000);
});

有什么想法吗?

就我所知,您正在尝试设置模型的params并保存一个实例。您应该首先获取要更新/保存的实例。

用于更新实例。

如果你想构建一个实例,而他们保存它,你也可以创建实例。

希望这能有所帮助。

Employer.req.params.id = req.body;

我的猜测是Employer.req在这里是未定义的