Arhn - архитектура программирования

Sails.js: невозможно выполнить POST для вставки в mongoDB

Я пытаюсь написать игрушечную программу для отправки формы и вставки в mongodb, но я продолжаю получать ошибку БД. Позвольте мне вставить соответствующий код здесь, и я надеюсь получить некоторую помощь.

Я использую Sails версии 0.10.5 и последнюю версию mongo 2.6.5, а мой узел запускаю на Mac OSX 10.9:

Модель: Employee.js

module.exports = {

  attributes: {
                  name: {
                            type: "string",
                            required: true
                        },
                  email: {
                             type: "string",
                             required: true
                         },
                  password: {
                                type: "string",
                                required: true
                            }
  },
beforeCreate: function(values, next) {
      next();
    }
};

route.js:

module.exports.routes = {

  '/registeremployee': {
    controller: 'employee',
    action: 'register'
  },

  '/listemployees': {
    controller: 'employee',
    action: 'list_all'
  }
};

EmployeeController.js

module.exports = {

  index: function(req, res) {
    res.send(200, {title: "employee index page"});
  },

  list_all: function(req, res) {

    Employee.find().exec(function(err, employee) {

      if (err) {
        res.send(500, {title: 'error retrieving users'});
      } else {
        res.send(200, {'employees': employee});
      }
    });
  },

  register: function(req, res) {

    if (req.method == "GET") {
      res.view({title: "Form for registering employees"});
    } else if (req.method == "POST") {

      var username = req.param("username");
      var password = req.param("password");
      var email = req.param("email");

      console.log("saving the username: " + username);  //username printed as 'undefined'

      Employee.create({username: username, password: password, email: email}).exec(function(error, employee) {
        if (error) {
          console.log('error');
          res.send(500, {error: "DB error!"});
        } else {
          console.log('error');
          res.send(200, employee);

          console.log("saved employee: " + employee.username);
        }
      });
    }

  }
};

Наконец, файл шаблона register.ejs:

<a href="/listemployees">List All Users</a>
<h2>Form - Create a User</h2>
<form action="/registeremployee" method="POST">
  <table>
    <tr><td>Name</td><td><input type=”text” name=”username” required></td></tr>
    <tr><td>Password</td><td><input type=”password” name=”password” required></td></tr>
    <tr><td>Email</td><td><input type=”email” name=”email” required></td></tr>
    <tr><td></td><td><input type="submit"></td>
  </table>
</form>

Мне кажется, что форма не отправляет данные, так как параметры печатаются как undefined/null в моем контроллере.

У меня есть это в моих подключениях.js:

  mongo: {
    adapter: 'sails-mongo',
    host: 'localhost',
    port: 27017,
    user: '',
    password: '',
    database: 'sailsApp1'
  }
15.11.2014

  • выйдите из всех параметров, чтобы вы знали, что у вас нет опечатки или чего-то еще. console.log(req.params()) 17.11.2014

Ответы:


1

просто замените имя на имя пользователя, и вы сможете сохранять данные в БД.

module.exports = { 
    attributes: { 
        username: { 
            type: "string", required: true }, 
            email: { type: "string", required: true }, 
            password: { type: "string", required: true } }, 
    beforeCreate: function(values, next) { next(); } };
19.04.2016
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..