2012-02-09 80 views
1

我有belongs_to的:在我的模型供应商,PROVIDER_ID设置,但联想仍然是空白:Mongoid:空白belongs_to的关联

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

谢谢!

+0

您是否检查过在'Provider'集合中存在带有ID的记录? – rubish 2012-02-14 09:41:02

+0

是的,当然我做过 – Alexander 2012-02-15 10:39:24

回答

0

我相信你需要在您的其他模型has_onehas_many协会。

class Foo 
    include Mongoid::Document 
    belongs_to :bar 
end 

class Bar 
    include Mongoid::Document 
    has_one :foo 
end 
+0

Provider模型中有:has_many。我对ActiveRecord的所有经验都表示这段代码应该可以工作,但是在Mongoid中它不会:(所以我使用Provider.find(o.provider_id) – Alexander 2012-02-19 07:31:21

+0

我正在用mongoid做这件事,它的作用就像一个魅力。 。 – Kyle 2012-02-19 23:22:11

+0

等待'has_many'?然后它会返回一个提供者数组,请尝试'o2.providers' – Kyle 2012-02-19 23:24:29