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 不是蓝图操作,这就是您收到该错误的原因。
我刚刚开始学习 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 不是蓝图操作,这就是您收到该错误的原因。