2015-02-08 87 views
2

我想在我的网站上显示维护页面。我打算保存一个布尔值到数据库,以控制何时显示页面。我如何才能让我的控制器路由显示维护页面?我想继续让帆正常提供脚本,样式表和图像。如何显示维护页面?

回答

3

您可以使用策略来实现此目的。

// api/policies/inMaintenance.js 

module.exports = function(req, res, next) { 
    var maintenanceMode = ... // get the value 
    if (maintenanceMode) return res.view('maintenance'); 
    next(); 
} 


// config/policies.js 

module.exports.policies = { 
    '*': 'inMaintenance', 
    ... 
} 

在你views文件夹添加maintenance.ejs
所有资产仍然可用。

虽然这种方法有一个缺点,但如果在config/routes.js中有一条直接指向视图的路径,它将不会通过该策略。因此,您需要所有路由由控制器处理。

您可以检查Sails documentation on policies以更好地了解它们的工作原理。

+0

这工作完美,谢谢! – 2015-02-09 14:17:16

+0

不客气! – irobert91 2015-02-09 15:00:40