Мне просто нужно использовать функцию res.render в некоторых местах, но она не передается обратному вызову, который я использую. Разве нет где-то глобальной версии функции рендеринга или есть ли другой способ получить к ней доступ?SailsJS: как получить доступ к функции res.render из любого места
ответ
Это не необходимо все мест, действительно.
res
- объект ответа, и он имеет смысл только в контроллерах, поскольку только контроллеры имеют дело с обработкой запросов и откликом ответа.
Вы хотите использовать res.render
от моделей, услуг? Может быть, это потому, что вы думаете, что весь ваш код всегда находится в we_have_request_and_user_is_waiting_for_response состоянии. Ну, это неправда: методы и сервисы модели можно вызвать из консоли парусов или из фоновых работников или из кода, чем по расписанию. В этих случаях у нас нет объекта res
.
Контроллеры предназначены специально для того, чтобы содержать ответные действия пользователей. Итак, вы должны поместить эту логику в контроллеры. MVC
Технически предыдущий динамик несколько прав: есть причина, что res
существует только внутри контроллеров. Например, что, если это приложение CLI, и просто нет запроса/ответа по HTTP-значению?
Сказанное: если вам просто нужно отобразить какой-либо HTML-код для той или иной цели, вы всегда можете использовать средство отображения Global Express, которое не требует ответа: оно доступно через sails.express.app.render
, см. Express' documentation для метода Титулы.
Это будет работать в версии v..9.x с предостережением о том, что методы локализации недоступны. Но 'sails.express' не будет доступен в будущих версиях Sails. Тем не менее, функция глобального представления рендеринга может быть доступна в версии 10.10. – sgress454
В парусов v0.10.4 есть
sails.renderView(viewPath, options, callback);
Кроме того, при оказании электронной почты, вы, вероятно, не нужно использовать макет. Поэтому перед вызовом sails.renderView
добавить
options.layout = false;
Я чувствую, что это должен быть принятый ответ. Это решает проблему без необходимости утверждать OP для переосмысления намерений. –
- 1. Глобальный доступ к объекту из любого места
- 2. Доступ к массиву из любого места
- 3. Как получить доступ к данным компонента zoo из любого места
- 4. Как получить доступ к Request.QueryString из любого места?
- 5. Как получить имя пакета из любого места?
- 6. Доступ к VSFTPD, Ubuntu 12.04 из любого места
- 7. Как получить доступ к данным из res.render в Express
- 8. Доступ к текущему зарегистрированному пользователю из любого места в коде
- 9. Доступ к головке из любого места STL-списка
- 10. Как получить контекст из любого места?
- 11. Доступ к переменной из любого места приложения (Android)
- 12. Перейти к активности из любого места
- 13. Как разрешить соединения Postgresql из любого места?
- 14. Reactjs - получить компонент из любого места приложения
- 15. Как получить доступ к переменным, установленным в res.render() из динамической вспомогательной функции в Express.js?
- 16. Как я могу получить доступ к сервису, установленному на Kubernetes из любого места?
- 17. Как получить доступ к учетным данным facebook.yml из любого места в приложении Rails?
- 18. метод в android, к которому можно получить доступ из любого места, как модули в VB
- 19. Как получить доступ к функции из module.exports
- 20. , как получить доступ к переменной из функции
- 21. Выполнение скрипта из любого места
- 22. Как получить доступ к бутстрапу из любого представления в MVC
- 23. Предотвращение доступа к горизонтальномуScrollView из любого места на экране
- 24. Могу ли я получить доступ к StartupEventArgs из любого другого места, кроме обработчика событий App_Startup?
- 25. Есть ли простой способ получить доступ к компоненту из любого места?
- 26. (Quickblox) Получение видеозвонков из любого места приложения
- 27. Как получить экземпляр приложения из любого места в Ваадине?
- 28. Как получить доступ к переменным среды в config SailsJS
- 29. Как реагировать на applicationWillResignActive из любого места?
- 30. Как сделать Swipe из любого места экрана?
Мне нужно получить доступ к res.render в методе «afterCreate» модели, так что я могу отправить по электронной почте. –