我刚刚开始学习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
});
});
}
};
我做错了什么?我真的无法在互联网上找到它。
答案 0 :(得分:0)
您需要做的就是将您的路线绑定到控制器,如下所示:
'/:screenname': 'UserController.findOne'
这应该可以满足您的需求。
要进一步了解您正在做的事情,您之前使用的方法是查找已生成的蓝图操作之一。如果你把它改成这样的东西,它会做的是调用蓝图方法'找到'使用参数screenname。
'/:screenname': {
contoller: 'UserController',
action: 'find'
}
findOne不是蓝图操作,这就是您收到该错误的原因。