2017-02-10 3 views
0

Я сгенерировал api building с помощью sails command line, и теперь я хотел бы настроить логику внутри маршрута /building. Я проверил sails source code, чтобы воспроизвести основное поведение find с моими настройками.Как я могу использовать Sails.js actionUtil.js в моем контроллере?

Я видел, что очень удобная библиотека actionUtil используется для выполнения этого действия, и я хотел бы повторно использовать этот файл в своем контроллере. Как я могу это сделать ?

Моя конечная цель - показать здания, к которым пользователь имеет доступ, если у вас есть идея лучше, чем реплицировать исходный код парусов, я нахожусь!

Благодаря

ответ

1

Вы можете импортировать его в контроллере или там, где вам это нужно только с указанием полного пути для например

вара actionUtil = требуется («паруса/Lib/Крючки/чертежи/actionUtil»);

0

Вы можете импортировать его так же, как и любой другой модуль, указав относительный путь к файлу с пути файла контроллера.

+0

Столь очевидно, спасибо! Я плохо знал, что паруса установлены в глобальном режиме. Кстати, нет лучшей идеи, чем повторить исходный код парусов для того, что я пытаюсь сделать? –

2

Ответ Сантоша Гали является правильным, но просто хотел предложить способ добиться того, что вы после.

Я не знаю, если это правильный способ сделать это, но ...

Если посмотреть на метод parseCriteria в actionUtil, вы найдете эту строку: where = _.merge({}, req.options.where || {}, where) || undefined;, так что вы можете на самом деле измените критерии, изменив req.options.where.

Так что, если вы создаете политику, как этот, вы должны быть хорошо идти

module.exports = function (req, res, next) { if (!req.options.where) req.options.where = {}; req.options.where.owner = req.session.user; next(); };

Конечно, вы должны быть сессию и сохранить идентификатор пользователя в нем для этого работы ,

+0

Большое вам спасибо! Это работает очень хорошо! –

Смежные вопросы