在sails中将控制器设置为默认路径而不是视图

时间:2015-05-20 12:59:15

标签: sails.js

在config / routes.js中

当需要控制器而不是视图

时会发生什么
module.exports.routes = {

  '/': {
    view: 'index'
  }

};

基本上我想在索引页面加载一些数据,但我不能因为没有控制器,此外我想要其他页面,如约,联系等...但我更喜欢把它们放到PublicController而不是routes.js

2 个答案:

答案 0 :(得分:3)

如果我收到您的问题,可能您正在寻找此事,

module.exports.routes = {
    '/': {
        controller: 'User',
        action: 'actionName'
    }
};

起初我没有注意到你的评论。如果你想把所有这些部分放在不同的路径下(例如/about部分),那么就没有办法做到这一点。

但是我使用React.js前端框架完成了它,您可以使用React Routes在单个视图文件中定义路由。不需要在routes.js中定义。仅从一个控制器渲染该单个文件将使您能够使用该视图文件中定义的所有路径。不能告诉你任何其他方式。

希望它有所帮助。

答案 1 :(得分:1)

如您的评论所示,您可以在路线中指定控制器,操作。

在控制器中,您可以指定要渲染的视图。

PublicController.js
module.exports = {
    randomAction : function(req,res,next){

       res.view('./randomActionViewFile');

    }
}

如果视图文件已在文件夹结构api/views/public/randaomActionFile.ext中,请注意这是不必要的。相反,您可以使用res.ok