2013-08-15 25 views
11

Tôi có một chế độ xem một phần chứa biểu mẫu đăng nhập của tôi. Tôi muốn làm cho nó từ một cuộc gọi ajax để điều khiển của tôi.Sails.js - Làm cách nào để hiển thị một phần từ bộ điều khiển?

Đây là mẫu nơi tôi sẽ quay trở lại xem một phần của tôi:

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!'}); 
     } 
    }); 
    }, 

Trả lời

20

Ah! Tìm thấy rồi!

Nếu nhìn của bạn là một cái nhìn cục bộ, chỉ cần xác định layout: null:

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

Yep! Và nếu bạn muốn vô hiệu hóa bố cục trên toàn cầu (thực hiện các công cụ Express-3-ish một phần-ish cách) bạn có thể đặt 'layout: false' trong tệp' config/views.js' của bạn. – mikermcneil

5

Cuối trang: http://sailsjs.org/#!documentation/views

gì về việc sử dụng nhiều bố trí?

Express 3 loại bỏ hỗ trợ gốc cho bố cục. Trong Sails, chúng tôi đã quản lý để giữ điều này xung quanh, nhưng chúng tôi không chính thức hỗ trợ nhiều bố cục. Điều đó nói rằng, ít nhất là trong EJS, thay vì chỉ bố trí tùy chỉnh của bạn với cách bố trí địa phương, bạn phải sử dụng _layoutFile:

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

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

}; 

Sails v0.9.7

Các vấn đề liên quan