【问题标题】:Mongoid: blank belongs_to associationMongoid:空白的belongs_to关联
【发布时间】:2012-02-09 09:08:43
【问题描述】:

我的模型中有belongs_to :provider,并且设置了provider_id,但关联仍然是空白:

irb(main):095:0> o2.provider_id
=> BSON::ObjectId('4e0472f36d40ec0004000001')
irb(main):096:0> o2.provider
=> nil

此外,模型具有 provider_id= 方法,其中包含“write_attribute(:provider_id, provider_id)”。

这里有什么问题?

Mongoid 版本是 2.4.0

谢谢!

【问题讨论】:

  • 您是否检查了Provider集合中是否存在ID为ID的记录??

标签: ruby associations mongoid


【解决方案1】:

我相信您的其他模型中需要 has_onehas_many 关联。

 class Foo
   include Mongoid::Document
   belongs_to :bar
 end

 class Bar
   include Mongoid::Document
   has_one :foo
 end

【讨论】:

  • Provider 模型中有 :has_many。我对 ActiveRecord 的所有经验都表明这段代码应该可以工作,但在 Mongoid 中却不行 :( 所以我正在使用 Provider.find(o.provider_id)
  • 我正在用 mongoid 做这个,它就像一个魅力。祝你好运。
  • 等等,has_many ?然后它将返回一个提供者数组。试试o2.providers
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-29
  • 2013-02-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多