Мне нелегко пытаться передать объект в макет моего проекта, чтобы получить список категорий, которые нужно показать на панели навигации. Я пытаюсь сделать пару решений здесь, и все связано с использованием политики и назначением res.locals.myVar = someObj, проблема в том, что res.locals, а также с использованием req.options.locals.myVar доступны только в действии контроллера но не макетПередача объекта в представлении/layout.ejs в sails.js
До сих пор я получил это.
// getRoomList ПОЛИТИКА
Room.find().exec(function(err, rooms) {
if (err) {
return res.badRequest('Something went wrong.');
}
if (rooms) {
res.locals.roomlist = rooms;
next();
} else {
res.notFound();
}
});
// конфиг/политика
'*': 'getRoomList'
// В layout.ejs
<%= roomlist %>
Проблема здесь состоит в том, что я не хочу никакого конкретного представления для обработки навигационной панели категорий. «Навигационная панель» находится в макете. – adavia
В этом случае ваше решение лучше, я думаю, чтобы каждый запрос имел одну и ту же политику для сохранения переменных res.locals –
Ну, проблема в том, что мое решение не будет работать для этого случая. – adavia