繁体   English   中英

Mongoid不坚持协会

Mongoid not persisting associations

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

考虑以下:

class Parent
  include Mongoid::Document
  field:name
  references_one :child

  before_create :initialize_child

  protected

  def initialize_child
    self.child = Child.create
  end

end

class Child
  include Mongoid::Document
  field:name
  referenced_in :parent
end

在控制台中,我得到以下奇怪的行为:

> p = Parent.create
 => #<Parent _id: 4d811748fc15ea355d00000b, name: nil> 
> p.child
 => #<Child _id: 4d811748fc15ea355d00000c, name: nil, parent_id: BSON::ObjectId('4d811748fc15ea355d00000b')> 

到目前为止都很好。 现在,当我尝试获取父母,然后找到孩子 - 没有运气...

> p = Parent.last
 => #<Parent _id: 4d811748fc15ea355d00000b, name: nil> 
> p.child
 => nil 

mongoid rc6和rc7都会发生这种情况

我做错了什么(我是mongoid的新手)还是这个bug? 有什么工作吗?

谢谢!!

乔纳森

1 个回复

由于未嵌入子项,因此不会自动保存它

尝试

class Parent
  include Mongoid::Document
  field:name
  references_one :child, autosave: true 

  before_create :initialize_child

  protected
  def initialize_child
    self.child ||= Child.new
  end
end

此外 - 您可能希望将子项嵌入父文档中。 如果是这样,你会想要切换到“embedded_in”

1 Mongoid协会和参考

我有一个关于Mongoid中的关联的新手问题。 我有这两种模式 和 现在,我创建了一个新公司: 和一个新产品: 如何将prod.manufacturer_name引用为man.name? 如果要更改man.name,则应自动更改prod.manufacture ...

2 坚持与学说协会的实体

我在尝试使用Doctrine保留与关联的实体时遇到麻烦。 这是我自己的映射:(User.php) 在反面没有映射,我尝试了(OneToMany) ,但似乎没有什么不同。 基本上,我将默认值2 (integer)传递给方法setRole_id但是当我实际去保留会导致MySQL错 ...

4 Mongoid多态协会+ FactoryGirl + RSpec

我正在尝试使用多态方法将电子邮件嵌入人Mongoid对象中。 正在获取“ BSON :: InvalidDocument:无法将类Mongoid :: Relations :: Embedded :: Many的对象序列化为BSON。” 每当我运行测试时。 请查看下面的代码,我们将不胜感激 ...

5 协会多对多

我不完全了解关联的工作方式。 我有3种型号: 电影 (:about,:title,:url,:actors,:uploader) 演员 (:birth,:name) 关系 (:actor_id,:film_id) 关系是电影和演员之间的关联,因此“哪个演员 ...

6 坚持多对多

因此,我希望保留一个具有ManyToMany关系的实体。 问题是关联实体可能存在或可能不存在。 举个例子,我有一篇文章: @Entity public class Article { @Id @GeneratedValue(strategy = GenerationType.IDEN ...

7 他们为什么互相坚持?

我试图获得一个简单的自定义列表View并被元素间相互粘住而感到震惊,这看起来比以往任何时候都要糟糕。我创建了program_list.xml文件,如下所示: 这是CustomList文件: 快速找到解决方案,我很震惊,想在Play商店上载应用程序,并参考图片了解主要问题。 预先 ...

8 委托协会

我有一个模型A,该模型具有许多其他模型B,而模型B具有多个第三模型C,并希望将A从B委派给C。例如: &gt; toy.house 就目前而言,我必须使用toy.pet.house ...

9 Solr协会

最近几天我们正在考虑使用Solr作为我们的首选搜索引擎。 我们需要的大多数功能都是开箱即用的,或者可以轻松配置。 然而,我们绝对需要的一个功能似乎在Solr中被很好地隐藏(或缺失)。 我将尝试用一个例子来解释。 我们有很多实际上是商业的文件: 此外,我们还有另一个包含所有类别 ...

10 CakePHP协会

好吧,可以说我有一个User ,每个用户都有许多EmailAddress 。 我创建了以下视图,以显示单个用户: 现在,我想在此“ User视图中创建一个输入框,该框可以添加与该帐户关联的新EmailAddress。 我怎样才能做到这一点? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM