私の論理:
/* GET /events/list */
router.get('/events/list', function(req, res) {
new db.Tag({})
.fetchAll()
.then(function(tags) {
res.locals.title = "List of events";
res.locals.tags = tags;
res.render('events/list.ejs');
});
});
私の見解:
<% for (var tag in tags) { %>
<div class="checkbox">
<label>
<input type="checkbox" data-tag-id="<%= tag.tagId %>" />
<%= tag.name %>
</label>
</div>
<% } %>
私が得ているもの:
[x] undefined
[x] undefined
[x] undefined
[x] undefined
私が得るべきもの:
[x] foo
[x] bar
[x] zort
[x] troz
私も通してみた
res.locals.tags = tags.toJSON();
そしてまた
res.locals.tags = JSON.stringify(tags);
では、最終的にコレクションを EJS ビューに渡すにはどうすればよいでしょうか。
console.log(tags)
直後に( ) もログに記録then(function(tags)
し、モデル (この場合はタグ) を正しく取得しています。
EJSビューでtags.forEachも試しましたが、次のようなネイティブjavascript配列: [{tagId:1, name:"blah"}, {tagId:2, name"Foo"}]
「forEach」メソッドが実装されていません