2

模板:

p= user

输出:

<p>{ admin: "true", human: "Foo Bar" }</p>

(在用户通常看不到但用于渲染布局的不同部分(或不渲染)的其他一些东西中,取决于各种因素)

模板:

p= user.human

输出:

<p>Foo Bar</p>

到目前为止,正如预期的那样。但是,模板:

p= user.admin

输出:

<p></p>

我不知道这怎么可能。当我输出整个对象时,该属性就在那里,但是当我尝试仅输出该属性时它就消失了。

我也尝试过使用user['admin']而不是user.admin,但这也不起作用。

第一个问题:这是怎么发生的?第二个问题:如何解决?

更新 1:该模式p #{user.admin}具有相同的效果,并p= user.admin.toString()导致 500 错误声明'user.admin' is not defined。此外,JSON.stringify(user.admin)还会导致空 p 标记(如p= user.adminand中p #{user.admin}

更新 2: 输出 'admin' 属性:但迭代p= JSON.stringify(user) 不输出 ' admin ' 属性。在这种情况下,输出非常长,因为它包含一堆函数和其他内容,但我使用 ctrl+f 搜索输出并找不到“管理员”。{"admin":"true","human":"Foo Bar"}usereach value,key in user

4

3 回答 3

1

这可能是因为 admin 的值被解释为布尔值。一些事情要尝试:

p #{user.admin}

或者

p= user.admin.toString()
于 2013-03-03T18:36:27.223 回答
1

请尝试以下

each value, key in user
    p #{value} [#{key}]

“admin”是否被输出?

于 2013-03-03T18:56:09.087 回答
0

好的,这是错误的:

我正在检索一个设置了“admin”属性的 Mongoose 对象,但 Schema 并没有真正指定“admin”属性。我不确定 Jade 究竟是如何拾取它的,但 Mongoose 显然对“管理”属性是什么以及如何处理它感到非常困惑。

解决方案是简单地将 'admin': 'string' 添加到我的 mongoose.Schema 对象中。

感谢戴夫和朱利安国王的帮助。我赞成你的两个答案,因为它们确实帮助我得出了这个结论(以及你的评论,但你没有得到那些我害怕的人的代表!)。

于 2013-03-03T19:22:57.580 回答