Как я могу представить экземпляр другой модели в другое представление в Node и Express - PullRequest
0 голосов
/ 14 апреля 2020

Я хочу сделать запрос GET другого model в другую папку view или file на Node, express. Например, у меня есть маршрут Blog post, где я делаю свои GET запросы на выборку всех posts в этой модели. после получения сообщений я не хочу отображать сообщения в файле views/posts/index, а хочу отобразить все сообщения на моем layout file. но когда я пытаюсь отобразить посты в моем файле макета, он говорит, что посты не определены. пожалуйста, как мне заставить это работать?

Этот код извлекает все мои posts и отображает их в моем файле views/index, но теперь я хочу отобразить posts в моем layou.ejs файле

// Get all Blog posts
router.get('/', async (req, res) => {
  try {
  const posts =  await Post.find({})
  res.render('posts/index', {
   posts: posts
  });
  } catch {
   res.redirect('/')
 }
});

Я изменил это на это, но все равно он продолжает выдавать ошибку, что posts не определен, внутри layout файл

// Get all Blog posts
router.get('/', async (req, res) => {
 try {
 const posts =  await Post.find({})
   res.render('layout', {
    posts: posts
  });
 } catch {
  res.redirect('/')
 }
});

и мой второй вопрос, возможно ли это сделать это в view, чтобы показать все сообщения?

<% Post.forEach(post => { %> <%})%> помните, я использую модель Post с большой буквы, а не post

в Ruby в Первый язык Rails, который я выучил, вы можете сделать что-то подобное.

Мой третий вопрос: возможно ли установить сообщения как глобальную переменную из моего маршрута после получения всех сообщений?

Я прошу прощения за то, что задаю слишком много вопросов, но я новичок в Nodejs, и я хотел бы понять эти вещи. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...