【发布时间】:2013-11-03 18:09:02
【问题描述】:
我在 FactoryGirl 中设置了一个非常简单的关联,但由于某种原因它无法正常工作。该应用程序适用于旅游公司,因此每个旅游都有一个目的地(我正在使用 ActiveRecord,所以 Tour 模型 belongs_to a Destination - 所有旅游都需要此关联)。所以我这样设置我的工厂:
# spec/factories.rb
FactoryGirl.define do
factory :destination do
name "Example Destination"
city "Example City"
state "CA"
end
factory :tour do
departure_date { 1.day.from_now }
return_date { 1.day.from_now }
destination
end
end
但是,当我调用FactoryGirl.attributes_for(:tour) 时,它会返回:
{:departure_date => Mon, 04 Nov 2013 17:51:26 UTC +00:00,
:return_date => Mon, 04 Nov 2013 17:51:26 UTC +00:00}
没有destination_id!为什么?
destination 工厂运行良好。
我尝试以旧方式 association :destination, factory: :destination 定义关联,但这并没有帮助。如果我手动将destination_id 定义为destination_id FactoryGirl.create(:destination).id,我可以让它工作,但我不应该这样做。知道为什么它不起作用吗?
【问题讨论】:
-
如果您最初不想分配任何东西,为什么不使用
destination nil。 -
我确实想指定目的地——所有
tours都需要destination_id