Схема CRUD, переопределяющая в sails.js
В соответствии с этим закрытым вопросом в парусах:
https://github.com/balderdashy/sails/issues/835
Обозначения CRUD Blueprint "абсолютно, это идет в v0.10"
Я хотел бы изменить чертежи в моей службе sailsjs, чтобы разрешить именованные корни (потребляя в ember).
В настоящее время мне приходится настраивать каждый контроллер, который я создаю, с действиями, которые в значительной степени дублируются тем, что уже находится в чертежах.
Я подозреваю, что теперь я могу перенести этот код из своих контроллеров и в область переопределения чертежей, но я не знаю, где разместить этот код.
Любые примеры или даже просто указатель на соответствующий код в парусах. 10. repo будет очень благодарен.
Ответы
Ответ 1
Чтобы переопределить чертежи в Sails v0.10, вы создаете папку api/blueprints
и добавляете свои файлы чертежей (например, find.js
, create.js
и т.д.) внутри. Вы можете взглянуть на код для действий по умолчанию в крючке чертежей Sails для запуска главы.
Также добавляется добавление настраиваемых чертежей, но в настоящее время они не привязаны к маршрутам автоматически. Если вы создаете файл /blueprints/foo.js
, вы можете связать маршрут с ним в вашем файле /config/routes.js
с помощью (например):
'GET /myRoute': {blueprint: 'foo'}
Ответ 2
вы можете добавлять действия с этими именами внутри вашего контроллера, чтобы переопределить поведение по умолчанию
чтобы изменить поведение разрушения
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]);
});
}
}
Ответ 3
Можно использовать сборку в чертежах, но с политиками, выполняемыми первыми. Эти политики могут проверять, что пользователь вошел в систему, имеет правильный доступ или аналогичный. Действительно удобно!
В каждой модели у вас есть обратные вызовы как до, так и после хранения данных. В: http://sailsjs.com/documentation/concepts/models-and-orm/lifecycle-callbacks
Для результата чертежей нет обратного вызова по умолчанию. Но не сдавайся. По-прежнему можно использовать сборку в чертежах и только изменять выход. Это может быть не самое элегантное решение, но оно работает хорошо. Ознакомьтесь с моим "взломом" здесь: жизненный цикл парусов