模板:
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.admin
和p #{user.admin}
)
更新2: p= JSON.stringify(user)
输出'admin'属性:{"admin":"true","human":"Foo Bar"}
但是user
用{{1}进行迭代不输出'admin'属性。在这种情况下,输出非常长,因为它包含一堆函数和其他东西,但我使用ctrl + f来搜索输出,但找不到'admin'。
答案 0 :(得分:1)
这可能是因为admin的值被解释为布尔值。有些事要尝试:
p #{user.admin}
或
p= user.admin.toString()
答案 1 :(得分:1)
请尝试以下
each value, key in user
p #{value} [#{key}]
“管理员”输出了吗?
答案 2 :(得分:0)
好的,这是错的:
我正在检索一个设置了'admin'属性的Mongoose对象,但Schema实际上根本没有指定'admin'属性。我不确定Jade到底是怎么回事的,但是Mongoose显然对'admin'属性是什么以及如何处理它感到非常困惑。
解决方案是简单地将'admin':'string'添加到我的mongoose.Schema对象中。
感谢戴夫和朱利安国王的帮助。我已经提出了你的两个答案,因为他们确实帮助我得出了这个结论(以及你的评论,但你不会为那些我害怕的人得到代表!)。