为了账号安全,请及时绑定邮箱和手机立即绑定

在sails.js中覆盖CRUD蓝图

在sails.js中覆盖CRUD蓝图

慕容708150 2019-12-04 09:58:18
根据航行中的这个封闭问题:https : //github.com/balderdashy/sails/issues/835CRUD蓝图覆盖 “绝对,这是v0.10版中的更新”我想修改我的sailsjs服务中的蓝图,以允许命名的根(在ember中消耗)。目前,我必须使用动作对自定义创建的每个控制器进行自定义,这些动作与蓝图中已经存在的动作大体相同。我怀疑我现在可以将此代码移出控制器,并移至蓝图覆盖区域,但是我不清楚该代码放在何处。.10回购中的任何示例,甚至只是指向相关代码的指针,都将不胜感激。
查看完整描述

3 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

更新资料

为了以下述方式在Sails 1.0中覆盖蓝图,您必须首先为项目(npm install sails-hook-custom-blueprints)安装“自定义蓝图”插件。


要覆盖在帆v0.10蓝图,您创建一个api/blueprints文件夹并添加您的蓝图文件(例如find.js,create.js内等)。您可以查看Sails蓝图挂钩中的默认操作代码,从而抢占先机。


还支持添加自定义蓝图,但是当前它们不会自动绑定到路由。如果创建/blueprints/foo.js文件,则可以使用以下方式将路由绑定到/config/routes.js文件中:


'GET /myRoute': {blueprint: 'foo'}


查看完整回答
反对 回复 2019-12-04
?
慕标5832272

TA贡献1966条经验 获得超4个赞

您可以在控制器内添加具有这些名称的动作以覆盖默认行为


改变破坏行为


module.exports = {

  destroy: function(req,res){

    Goal.update({ id: req.param('id') }, { deleted: true })

    .exec(function (err, goal) {

            if (err) return res.json(err, 400);

            return res.json(goal[0]);

     });

  }

}


查看完整回答
反对 回复 2019-12-04
  • 3 回答
  • 0 关注
  • 691 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信