これはマングースとエクスプレスコードです:
app.get('/:user/:id', function (req, res){
usermodel.findOne({ user: req.params.user }, function (err, user){
var imagen = user.imagen.id(req.params.id);
console.log(imagen);
res.render('photo.ejs', {
user: user,
photo: imagen
});
});
});
これは、EJS テンプレートの出力です。
<img src="/users/<%= user._id %>/<%= user.avatar %>" class="img-circle" alt="">
imagen オブジェクトを返す console.log があります。一度だけ。しかし、私はこれを受け取ります:
{ title: 'Slimes',
name: 'slimes.png',
author: 'Mrmangado',
description: 'A collection of Slimes',
index: 1,
views: 7,
fav: 0,
path: '/users/5112b8da8a63aae76f000005/',
_id: 5112b91a8a63aae76f000006,
comments: [],
date: Wed Feb 06 2013 23:12:10 GMT+0300 (MSK),
tags: [ '#Slimes', '#DQ', '#Sprites' ] }
null
TypeError: /root/views/photo.ejs:92
>> 1| <img src="/users/<%= user._id %>/<%= photo.name %>" alt=""/>
imagen オブジェクトを 2 回取得します。1 回目は定義されていますが、2 回目の値は null であるため、エラーが発生します。なんで?その URL に対して、おそらく 2 つのリクエストを受け取るのは本当に奇妙です。これに対する解決策はありますか...?
よろしくお願いします!