Sails.js填充嵌套关联
我自己有一个关于Sails.js版本0.10-rc5中的关联的问题。我一直在构建一个应用程序,其中多个模型相互关联,我到达了一个我需要以某种方式获得嵌套关联的点。
有三个部分:
首先是博客文章,这是由用户编写的。在博客文章中,我想显示关联用户的信息,如用户名。现在,这里一切正常。直到下一步:我正在尝试显示与帖子相关的评论。
注释是一个单独的模型,称为Comment。每个人还有一个与之相关的作者(用户)。我可以轻松地显示评论列表,但是当我想显示与评论相关的用户信息时,我无法弄清楚如何使用用户的信息填充评论。
在我的控制器中,我试图做这样的事情:
Post
.findOne(req.param('id'))
.populate('user')
.populate('comments') // I want to populate this comment with .populate('user') or something
.exec(function(err, post) {
// Handle errors & render view etc.
});在我的Post''show'动作中,我试图检索这样的信息(简化):
<ul>
<%- _.each(post.comments, function(comment) { %>
<li>
<%= comment.user.name %>
<%= comment.description %>
</li>
<% }); %></ul>但是,comment.user.name将是未定义的。如果我尝试只访问'user'属性,例如comment.user,它会显示它的ID。这告诉我,当我将评论与其他模型关联时,它不会自动将用户的信息填充到评论中。
任何理想的人都能妥善解决这个问题:)?
提前致谢!
PS
为了澄清,这就是我基本上在不同模型中建立关联的方式:
// User.jsposts: {
collection: 'post'}, hours: {
collection: 'hour'},comments: {
collection: 'comment'}// Post.jsuser: {
model: 'user'},comments: {
collection: 'comment',
via: 'post'}// Comment.jsuser: {
model: 'user'},post: {
model: 'post'}慕尼黑的夜晚无繁华
相关分类