обновить ввод jade до hapi.js

У меня есть нефритовый шаблон, в котором есть раздел создания пользователя, который добавляет пользователя в базу данных Orchestra.io. Ниже у меня есть список всех пользователей со ссылкой для удаления и обновления. Удаление работает нормально, передавая ключ через URL-адрес как res.params.id, когда он попадает на сервер. Когда я обновляю с помощью ключа, он не видит новые значения из полей ввода, поэтому я не получаю значение полезной нагрузки для использования на стороне сервера. Как я могу обновить это поле? Вот мой код: Серверная часть -

server.route({
   method: 'GET', 
   path: '/update/{id}',
   handler: function(req, reply){
       db.put('users', req.params.id, {
        "name": 'name',
        "password": 'password',
        "email": 'email'
      })
      .then(function (result) {
          reply.redirect('/');
      })
      .fail(function (err) {
          reply('no update');
      });
   }
});

Нефритовый шаблон-

doctype html
html
  head
    title Last October Weekly Challenge
  body
    div.container
      p This is the main user page. You can create, update, delete and view users.
      form(action='/',method='POST')
        label(for='name') Name
          input(id='name',type='text',value='',placeholder='Enter Name',name='name')
        label(for='password') Password
          input(id='password',type='password',value='',placeholder='Enter Password',name='password')
        label(for='email') Email
          input(id='email',type='email',value='',placeholder='Enter Email',name='email')
        input(id='submit',type='submit',value='Create User',name='submit')
      p Here are the current users:
      table
        each item in items
          tr
            td
              input(type='text' name='update-name' value= item.value.name)
            td
              input(type='text' name='update-password' value= item.value.password)
            td
              input(type='email' name='update-email' value= item.value.email)
            td
              a(href="/delete/" + item.path.key) Delete
            td
              a(href="/update/" + item.path.key) Update

Спасибо за помощь.


person user3411433    schedule 29.10.2014    source источник


Ответы (1)


Я вижу пару вещей, которые могут вызвать вашу проблему. 1) Ваш метод server.route - "GET", но он должен быть "POST" для обработки/соответствия атрибуту метода формы; и 2) у вас нет идентификатора в виде скрытого поля в форме (или как части URL-адреса действия, например, form action="/update/12345" method="POST"...).

person Ernest Carroll    schedule 05.11.2014