大家好,我正在为一个项目使用Node JS,Express JS,Sequelize和EJS Templating制作应用程序。该应用程序旨在允许员工为其团队成员留下反馈。现在我在应用程序中有功能,可以将我想要的数据从数据库显示到视图中。我也可以发布单个插入,例如 - 作为管理员,发送请求user1为user2留下反馈。
所以,我可以做GET和POST(单个插入)但是我的问题是,如果问题因角色等而有所不同,我是否打算为这个反馈表做一个POST?
e.g。开发人员可以有10个问题,产品所有者可以有8个问题,而且每个问题都不同。
module.exports.questions = function(req, res){
var models = require('../app/models');
var db = require('../app/models/index.js');
var FeedbackQuestions = models.FeedbackQuestions;
var express = require('express');
models.FeedbackQuestions.findAll({
where : { role : req.user.role}
}).then(function(questions){
res.render('selfform.ejs', {
page_title : 'Self-Assessment',
questions : questions,
user : req.user
});
});
};
这就是我如何渲染文件,并将数据传递给它。这就是我如何使用EJS视图中传入的数据。
<tbody>
<% for (var i=0; i < questions.length; i++){ %>
<tr>
<td><%=questions[i].question%></td>
<td><%=questions[i].description%></td>
<td> user selection rating </td
</tr>
<% } %>
</tbody>
因此,例如,我显示了10个问题(对于具有不同角色的员工,可能会有更多问题)。
module.exports.insertSelfFeedback = function (req, res) {
var models = require('../app/models');
var db = require('../app/models/index.js');
var Feedback = models.Feedback;
var express = require('express');
var selfform = require('../views/selfform.ejs');
var input = JSON.parse(JSON.stringify(req.body));
models.Feedback.bulkCreate([
{
fromuser: req.user.username,
touser: req.user.username,
rating: input.rating,
questionnumber: input.questionnumber,
period: input.period
}
]).then(function () {
res.redirect('/selfassessment');
console.log(input);
return models.Feedback.findAll();
}).then(function (feedback) {
console.log(feedback);
})
};
我创建了上面的函数来使用Sequelize的bulkCreate,但是如何使用动态范围的插入? 感谢