Sails.js 将User.id从ejs文件传递给控制器函数
我不太清楚这个标题该怎么说。基本上,我有一个ejs页面,显示表中的所有用户,每个用户都有一个编辑按钮,我可以通过user/user.id链接到单个用户。但它显示为json。我想在另一个ejs文件中显示它,但我不知道如何在单击按钮时将user.id传递给我的控制器函数以显示单个用户页面。我不确定我在这里遗漏了什么,我尝试了几种方法,但用户总是返回未定义的结果。这是我所拥有的,非常感谢您的帮助。我已经从下面删除了额外的代码 Users.ejsSails.js 将User.id从ejs文件传递给控制器函数,sails.js,Sails.js,我不太清楚这个标题该怎么说。基本上,我有一个ejs页面,显示表中的所有用户,每个用户都有一个编辑按钮,我可以通过user/user.id链接到单个用户。但它显示为json。我想在另一个ejs文件中显示它,但我不知道如何在单击按钮时将user.id传递给我的控制器函数以显示单个用户页面。我不确定我在这里遗漏了什么,我尝试了几种方法,但用户总是返回未定义的结果。这是我所拥有的,非常感谢您的帮助。我已经从下面删除了额外的代码 Users.ejs <td><a href="/syste
<td><a href="/systemuser"><button type="button">Edit</button></a></td>
UserController.js
systemuser: function(req, res) {
User.findById( req.param('id'))
.exec(function(err, user) {
res.view({user: user});
});
},
谢谢 是否尝试使用URL参数将user.id传递给控制器操作? 这应该起作用: views/user/list.ejs config/routes.js
希望能有所帮助。非常感谢!我不认为我错过了将id传递给控制器。
systemuser: function(req, res) {
User.findById( req.param('id'))
.exec(function(err, user) {
res.view({user: user});
});
},
<h2>User list</h2>
<table>
<% for (var i = 0; i < users.length; i++) {
var user = users[i]; %>
<tr><td><a href="/user/edit/<%= user.id %>">Edit</a></td></tr>
<% } %>
</table>
<h2>Edit user</h2>
<form method="POST">
<input type="text" value="<%= user.name %>"/>
<!-- some fields -->
</form>
list: function(req, res) {
User.find().exec(function(err, users){
res.view({ users: users });
});
},
edit: function(req, res) {
User.findOneById(req.param('id')).exec(function(err, user){
res.view({ user: user });
});
}
editSave: function(req, res) {
var user = req.params.all();
// save user data
res.redirect('/user/saved');
}
'get /user/edit/:user_id': 'UserController.edit',
'post /user/edit/:user_id': 'UserController.editSave',