Rails 关于 mongoid 内嵌文档的问题

guyanbiao · 2012年12月19日 · 最后由 simlegate 回复于 2012年12月19日 · 2392 次阅读

比如有两个 model usertitle user

embeds_many :titles

title

embedded_in :user

然后插入一条记录,发现在 consle 里面 user 的记录并没有 titles 这一栏,而其实这一栏在 mongo 的控制台下是看到的,这个时候要手动给 user 加上一个 field :titles ,然后 reload! 一下 在 consle 就看到了。大家有没有这个情况啊,我的理解是,应该自动给加上 title 这一栏啊。

请问你的插入语句是什么?

#1 楼 @simlegate title = user.titles.new 在 development.log 里面都看的 push 插入的记录,其实已经插入了,但 user 里面就是没有显示这一栏

new 的话在 consle 中是看的到的,但是在数据库中是没有保存的

#3 楼 @simlegate 我最后有 save 啊,最后是 consle 里看不到,数据库里看的到,给 user 手动加一个 field :titiles reload 一下就出来了

我刚刚试了一下,确实在 console 中不显示 titles,但是数据库确实有值了,个人认为 titles 只是和 user 有一种关系,不属于 user 的字段,所以当你在控制台打印 user 的文档时,就不会显示 titles 内嵌文档。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号