###前提・実現したいこと
sequelize,jade,expree等を使い、簡単なCRUDを作っています。
mysqlへデータを追加したい。
findAllで、一覧取得をjadeで表示することが出来た。
###car.js
'use strict'; var path = require('path'); var express = require('express'); var router = express.Router(); var Sequelize = require('sequelize'); var sequelize = new Sequelize('lemonlot','lemonlot','Noric0711'); var Cars = sequelize['import'](path.join('../models/cars')); router.get('/', function(req, res, next){ Cars.findAll().then(function(cars){ res.render('cars',{ cars:cars }); }); }); // UPDATE router.put('/:id',function(req,res,next){ let id = req.params.id; Cars.findOne({ where:{ id: id }, }).then(function(car) { if (!car) { next(); return; } res.render('car_put',{ car: car }); }); }); // insert router.post("/car_create", function(req, res){ var post = { id: req.body.id, nameId: req.body.nameId, makerId: req.body.makerId, bodyTypeId: req.body.bodyTypeId, registrationDate: req.body.registrationDate, price:req.body.price, areaId:req.body.areaId, mileage:req.body.mileage, dealerId: req.body.dealerId }; sequelize.query('INSERT INTO lemonlot VALUES ?', post, function(error){ if (error) { console.log(error.message); } else { console.log('success'); } }); }); // delete router.delete('/',function(req,res,next){ res.send('DELETEしちゃうぜ!!!!!!!!'); }); module.exports = router;
###cars.jade
include header extends layout block content +header(3) p Welcome to Cars ul.cars each car,index in cars li=car.id+ ":" + car.nameId +":"+ car.makerId +":"+ car.bodyTypeId +":"+ car.registrationDate +":"+ car.price +":" +car.areaId +":"+ car.mileage +":"+car.dealerId+":"+ car.createdAt +":"+ car.updatedAt //- edit form(action='/cars/#{index +1}' method='post') input(type='hidden' name="_method" value="put") div input(type='submit' value='edit') //- delete form(action='/cars' method='post') input(type='hidden' name="_method" value="delete") div input(type='submit' value='delete') //- test form(action='/cars/#{index +1}' method='get') input(type='submit' value='get') div //- post form(action='/cars/car_create' method='post') input(type='submit' value='insert') //- //- form(action='cars/delete' method='delete') //- input(type='submit' value='delete')
###car_create.jade
include header extends layout block content +header(3) p Welcome to CAR_CREATE form(action='/cars/car_create' method='post') div div.name id input(type='text' name='id' id='id' style='display: block;') div div.name nameId input(type='text' name='nameId' id='nameId' style='display: block;') div div.name makerId input(type='text' name='makerId' id='makerId' style='display: block;') div div.name bodyTypeId input(type='text' name='bodyTypeId' id='bodyTypeId' style='display: block;') div div.name registrationDate input(type='text' name='registrationDate' id='registrationDate' style='display: block;') div div.name price input(type='text' name='price' id='price' style='display: block;') div div.name areaId input(type='text' name='areaId' id='areaId' style='display: block;') div div.name mileage input(type='text' name='mileage' id='mileage' style='display: block;') div div.name dealerId input(type='text' name='dealerId' id='dealerId' style='display: block;') div input(type='submit' value='edit' style='display: block;')
###前提・実現したいこと
jade側で、submitを設定し、指定のurlに飛び、car.jsでpostとして受け取り、、という感じです。そこで、エラーを吐きました。
method overrideという、ものを使っているため、jadeのformのところは少し特殊です。
###発生している問題・エラーメッセージ
Sequelize.query was refactored to only use the parameters `sql` and `options`. Please read the changelog about BC. Error: Sequelize.query was refactored to only use the parameters `sql` and `options`. Please read the changelog about BC. at Sequelize.query (/Users/yusuke/develop/lemonlot/node_modules/sequelize/lib/sequelize.js:737:11) at /Users/yusuke/develop/lemonlot/routes/cars.js:49:15 at Layer.handle [as handle_request] (/Users/yusuke/develop/lemonlot/node_modules/express/lib/router/layer.js:95:5) at next (/Users/yusuke/develop/lemonlot/node_modules/express/lib/router/route.js:131:13) at Route.dispatch (/Users/yusuke/develop/lemonlot/node_modules/express/lib/router/route.js:112:3) at Layer.handle [as handle_request] (/Users/yusuke/develop/lemonlot/node_modules/express/lib/router/layer.js:95:5) at /Users/yusuke/develop/lemonlot/node_modules/express/lib/router/index.js:277:22 at Function.process_params (/Users/yusuke/develop/lemonlot/node_modules/express/lib/router/index.js:330:12) at next (/Users/yusuke/develop/lemonlot/node_modules/express/lib/router/index.js:271:10) at Function.handle (/Users/yusuke/develop/lemonlot/node_modules/express/lib/router/index.js:176:3) at router (/Users/yusuke/develop/lemonlot/node_modules/express/lib/router/index.js:46:12) at Layer.handle [as handle_request] (/Users/yusuke/develop/lemonlot/node_modules/express/lib/router/layer.js:95:5) at trim_prefix (/Users/yusuke/develop/lemonlot/node_modules/express/lib/router/index.js:312:13) at /Users/yusuke/develop/lemonlot/node_modules/express/lib/router/index.js:280:7 at Function.process_params (/Users/yusuke/develop/lemonlot/node_modules/express/lib/router/index.js:330:12) at next (/Users/yusuke/develop/lemonlot/node_modules/express/lib/router/index.js:271:10)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/31 14:49