1
我試圖讓FactoryGirl中的協會工作,他們只是......不。我已經基本上得到了這個:在FactoryGirl中獲得belongs_to協會的權利
class Foo
include Mongoid::Document
belongs_to :bar
end
class Bar
include Mongoid::Document
has_many :foos
end
FactoryGirl.define do
factory :foo, class => Foo do
bar
end
factory :bar, class => Bar do
end
end
至少這樣的文檔使我相信......但後來在我的測試,我有
a_foo=FactoryGirl.create :foo
a_foo.bar # Hooray! It's an associated object
Foo.where(_id: a_foo._id).includes(:bar).first.bar # This is nil!
爲什麼是最後一個關聯的值爲零線?我不需要它,因爲被測試的實際代碼做了同樣的事情,並且它有權期望它能夠正常工作......我錯過了爲什麼這種方法無法正常工作?可能是與急切的加載有關嗎?
沒有'has_one'語句? – apneadiving
我不經常在MongoDB中使用Rails,但我假設Foo.find(id)仍然有效,是嗎?如果是這樣,當你嘗試'Foo.find(a_foo._id).bar'時會發生什麼? – Samo
對不起,我編輯了我的帖子以表明真實代碼具有'has_many'關係。 @Samo,它是零,就像在我的問題中的代碼行... – cbmanica