忽略了在Sail.js中绑定路由错误的尝试

时间:2016-01-22 11:22:02

标签: javascript node.js sails.js blueprint

我刚刚开始学习Sails.js并观看大量的截屏视频。顺便说一句,当我试图添加像' /:screenname'这样的自定义路线时,我收到了此错误:

"忽略尝试将路由(/:screenname)绑定到未知蓝图操作(findOne)。"

我的routes.js是这样的:

'GET /:screenname': {
    contoller: 'UserController',
    action: 'findOne'  
  }

我的UserController:

module.exports = {

    //GET /user/:id
    findOne: function(req, res) {

        User.findOne({
            screenName: req.param('screenname')
        }).exec(function(err, user) {
            if(err) return res.negotiate(err);

            //User.subscribe(req, user.id);
            res.view('profile', {
                user: user
            });
        });
    }
};

我做错了什么?我真的无法在互联网上找到它。

1 个答案:

答案 0 :(得分:0)

您需要做的就是将您的路线绑定到控制器,如下所示:

  '/:screenname': 'UserController.findOne'

这应该可以满足您的需求。

要进一步了解您正在做的事情,您之前使用的方法是查找已生成的蓝图操作之一。如果你把它改成这样的东西,它会做的是调用蓝图方法'找到'使用参数screenname。

  '/:screenname': {
    contoller: 'UserController',
    action: 'find'  
  }

findOne不是蓝图操作,这就是您收到该错误的原因。