Подтвердить что ты не робот

Sails.js - Как отобразить частичный с контроллера?

У меня есть частичный вид, содержащий мою регистрационную форму. Я хотел бы сделать это с помощью ajax-вызова моего контроллера.

Это пример, где я бы возвращал свой частичный вид:

postlogin: function (req,res) {

    var username = req.param('username');
    var password = req.param('password');

    User.find({
        username: username,
        password: password.salt()
    }).done(function(err, users){
        if(users.length == 1){
            // Here I want to return a partial view, not a view
            res.view('home/login', {message: 'Login success!'});
        }else{
            // Here I want to return a partial view, not a view
            res.view('home/login', {message: 'Login failed!'});
        }
    });
  },
4b9b3361

Ответ 1

Ах! Найди его!

Если ваше представление является частичным видом, просто укажите layout: null:

res.view('home/login', {message: 'Login failed!', layout: null});

Ответ 2

Внизу страницы: http://sailsjs.org/#!documentation/views

Как использовать несколько макетов?

Express 3 удалил встроенную поддержку макетов. В Sails нам удалось сохранить это, но мы официально не поддерживаем несколько макетов. Тем не менее, по крайней мере, в EJS вместо указания вашего пользовательского макета с локальным расположением, вы должны использовать _layoutFile:

/**
 * HomeController
 */
module.exports = {

    index: function (req, res) {
        res.view({
            _layoutFile: '../layouts/other.ejs'
        });
    },

};

Паруса v0.9.7