Sailsjs覆盖控制器中的post动作

时间:2013-10-07 15:19:01

标签: sails.js

简短的问题,试图找到一个快速的帆船IRC但是迷路了所以这里。我有一个控制器,其路线为'/ userposts'。我知道sails提供了一些默认的类似REST的功能而不需要后端代码,但如果我想覆盖默认的POST操作怎么办?

我被迫编写一个POST路由,例如post /userposts/create,或者我可以覆盖默认操作并直接发送到/userposts,这将识别我的覆盖并执行它。

我希望我有意义。我基本上想要创建自定义POST路由并且能够

socket.post('/userposts', {title: "Foo", content: "Bar"}, function(response){});

我尝试使用create,但未在帖子/userposts上执行

1 个答案:

答案 0 :(得分:3)

Sails.js提供开箱即用的蓝图。

这些蓝图为您提供以下默认启用的 CRUD 路由

/:controller/find/:id?
/:controller/create
/:controller/update/:id
/:controller/destroy/:id

要修改控制器的默认功能,请查看 config / controllers.js 中的设置

您的路由在 config / routes.js 中定义,在您的情况下,您有一个模型 UserPosts 和一个名为 UserPostsController 的相应控制器。

UserPosts 控制器中,创建一个函数 createPost 并指定此方法的路径

'POST /userposts/create': 'UserPostsController.createPost'

这是

的简写
'POST /userposts/create': {
  controller: 'userposts',
  action: 'createPost'
}

您也可以覆盖/:控制器路径

'POST /userposts': 'UserPostsController.createPost'

这些路由将映射对 createPost 函数发出的任何POST请求。

有关详细信息,请务必查看Sails.js documentation