Ответы пользователя по тегу Sails.js
  • MVC Sails Js, как всё устроено? Что почитать?

    ImLoaD
    @ImLoaD
    Программист
    Модель вид представление
    Модель в sails js это объект отвечающий за доступ к базе. Например создаешь файл models/User.js, прописываешь в нем id, fullname, login, password
    Создаешь представление views/login.html, в нем верстаешь форму ввода логина и пароля, кнопку отправить и прописываешь url (post /login например).
    Создаешь контроллер controllers/UserConroller.js
    в файле config/routes.js пишешь url 'POST /login': 'UserController.loginAction'
    В контроллере пишешь (в module.exports объекте)
    loginAction: function(req, res) {
      // данные POST методом передаются в теле req.body
      var login = req.body.login;
      User.find({login: login}).exec((err, user) => { // для разнообразия стрелочная функция 
        if (err) return res.negotiate(err);
        // ну и дальше сравниваем пароли, как правило зашифровываем присланный пароль и сравниваем с зашифрованным паролем в базе (user.password доступен в данной области видимости анонимной функции - коллбека метода find объекта User - являющегося абстрактной моделью
      });
    }

    Вот у вас MVC, и взаимодействие между ними
    Модель хранит данные и дает к ним доступ - используется в контроллере
    Контроллер управляет, открывает представление (res.view('login') - контроллер дает браузеру страницу логина - предст.
    Представление отображает данные и открывает ссылки, согласно файлу routes вызываются определенные экшены контроллера.
    Вот и вся связь
    Ответ написан
    1 комментарий
  • Как вывести профиль на каждой странице в sails?

    ImLoaD
    @ImLoaD
    Программист
    Вам доступны в шаблоне переменные из сессии
    Ответ написан
    Комментировать
  • Sails.js разная валидация атрибута модели для разных ролей пользователей?

    ImLoaD
    @ImLoaD
    Программист
    На любом уровне возможно сделать валидацию, правила которой будут меняться в зависимости от того, какой пользователь вводит данные.
    Во первых, админу можно показать одну форму, пользователю другую, с виду идентичные но отличаются фронтенд валидацией.
    Во вторых можно перехватить в контроллере данные и в зависимости от пользователя в сессии проверить так или иначе.
    В модели доступа к сессиям нет.
    Ответ написан
    Комментировать
  • Впечатления от sails.js?

    ImLoaD
    @ImLoaD
    Программист
    Я использую Sails и очень доволен
    Ответ написан
    Комментировать