В javascript я передал объект в файл e js, но он по-прежнему говорит, что объект пуст - PullRequest
0 голосов
/ 25 апреля 2020

Это проект лагеря Кольта Стила. Я застрял при создании комментариев, я всегда получал это предупреждение Не удается прочитать свойство 'name' из null . Это мое приложение. js file

app.get('/campgrounds/:id', function(req, res){
// 	find campground with the provided ID
	Campground.findById(req.params.id).populate('comments').exec(function(err, foundCampground){
		if(err){
			console.log(err);
		} else {
			console.log(foundCampground)
			res.render('show', {campground: foundCampground});
		}
	});
});

и это файл show.e js

<%- include('partials/header') %>
<h1>
    <%= campground.name %>
</h1>
<img src='<%= campground.image %>'>
<p><%= campground.description %></p>

<% campground.comments.forEach(function(comment){ %>
    <p><%= comment.author %> - <%= comment.text %></p>
<% })%>
<%- include('partials/footer') %>

Может кто-нибудь помочь мне, что не так с моим кодом? если я проверил в базе данных, в кемпинге уже есть данные

1 Ответ

0 голосов
/ 25 апреля 2020

Могут быть проблемы с данными вашего campground.comments json.

const foundCampground = {
            name : 'test',
            description:'desc test',
            image : 'test.jpg',
            comments: [
                {
                    author:"product1",
                    text : "text1"
                },
                {
                    author:"product2",
                    text : "text2"
                }
            ]
        }
res.render('show',{campground:foundCampground})

Попробуйте с этим c json и, если он работает нормально, проверьте с вашими данными json который исходит из базы данных. Всегда старайтесь работать с Stati c data , если вы столкнулись с проблемой, связанной с данными.

...