Sails.js 将User.id从ejs文件传递给控制器函数

Sails.js 将User.id从ejs文件传递给控制器函数,sails.js,Sails.js,我不太清楚这个标题该怎么说。基本上,我有一个ejs页面,显示表中的所有用户,每个用户都有一个编辑按钮,我可以通过user/user.id链接到单个用户。但它显示为json。我想在另一个ejs文件中显示它,但我不知道如何在单击按钮时将user.id传递给我的控制器函数以显示单个用户页面。我不确定我在这里遗漏了什么,我尝试了几种方法,但用户总是返回未定义的结果。这是我所拥有的,非常感谢您的帮助。我已经从下面删除了额外的代码 Users.ejs <td><a href="/syste

我不太清楚这个标题该怎么说。基本上,我有一个ejs页面,显示表中的所有用户,每个用户都有一个编辑按钮,我可以通过user/user.id链接到单个用户。但它显示为json。我想在另一个ejs文件中显示它,但我不知道如何在单击按钮时将user.id传递给我的控制器函数以显示单个用户页面。我不确定我在这里遗漏了什么,我尝试了几种方法,但用户总是返回未定义的结果。这是我所拥有的,非常感谢您的帮助。我已经从下面删除了额外的代码

Users.ejs

<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',