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

Ignored attemp to bind route Error in Sail.js

我刚刚开始学习 Sails.js 并且看了很多截屏视频。顺便说一下,当我尝试添加像“/:screenname”这样的自定义路由时,出现了这个错误:

"Ignored attempt to bind route (/:screenname) to unknown blueprint action (findOne)."

我的routes.js是这样的:

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

还有我的用户控制器:

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
            });
        });
    }
};

我做错了什么?实在是没找到,网上也是。

你需要做的就是像这样将你的路由绑定到控制器:

  '/:screenname': 'UserController.findOne'

这应该能满足您的需求。

为了更深入地了解您正在做的事情,您之前使用的方法是寻找一个已经生成的蓝图操作。如果您将其更改为类似这样的内容,它将使用参数 screenname.

调用蓝图方法 'find'
  '/:screenname': {
    contoller: 'UserController',
    action: 'find'  
  }

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