Keystone JS 在 HTML table 中检索行 ID

Keystone JS retrieve row ID in HTML table

我在更新一些信息时遇到了一些问题:

我有一个数组,其中每一行都是一个表格。这是玉的样子:

each info in infos
    form(method="post")
        input(type='hidden', name='action', value='save')
        td
            input(value='#{info.name.full}' disabled).form-control
        td
            input(value='#{info.field}' disabled).form-control
        td
            input(value='#{info.field1}' disabled).form-control
        td
            input(value='#{info.field2}' disabled).form-control
        td
            input(value='#{info.field3}' disabled).form-control
        td
            input(value='#{info.field4}' disabled).form-control     
        td
            input(value='#{info.field5}' disabled).form-control
        td
            input(value='#{info.field6}' disabled).form-control
        td
            input(value='#{info.field7}' disabled).form-control
        td
            select(name='status').form-control
                option(value="")=(require)
                option(value="bla")="Bla"
                option(value="blabla")="Bla bla"
                option(value="blablabla")="Bla bla bla"
                option(value="blablablabla")="Bla bla bla bla"
        td
                button(type='submit').btn.btn-primary Save

而且我希望能够保存每一行,但在单击 "save" 时无法检索 ID。

我的 JavaScript 看起来像这样:

view.on('post', { action: 'save' }, function (next) {

    var application = new Info.model();
    var updater = application.getUpdateHandler(req);

    updater.process(req.body, {
        flashErrors: true
    }, function (err) {
        if (err) {
            locals.validationErrors = err.errors;
        } else {
            locals.updateSubmitted = true;
        }
        next();
    });

});

但我想我不明白 updateHandler 是如何工作的。

有谁知道如何通过检索 ID 来保存行?

为了解决这个问题,我添加了

input(type='hidden', name='id', value='#{info.id}')

就在

之后
input(type='hidden', name='action', value='save')

然后我可以访问数据:

console.log(req.body.id);
console.log(req.body.item1);

然后我更新了我的 table :

    Info.model.findByIdAndUpdate(req.body.id, { $set: {field1: req.body.item1, field2: item2}}, 
            function(err, info) {
            if (err) {
                next(err);
            }
    });

希望这对你们中的一些人有所帮助。