Ruby on rails 创建工厂以生成嵌套资源
这些模型之间的关系是Ruby on rails 创建工厂以生成嵌套资源,ruby-on-rails,factory-bot,Ruby On Rails,Factory Bot,这些模型之间的关系是 机场有很多航班 航班有多个航班SKU 如何通过FactoryGirl轻松地与父母和祖父母创建flight_sku before(:all) do @airports = AIRPORTS.collect{|airport| FG.create(:airport, code: airport)} @flight = FG.create(:flight, from_airport: @airports[0], to_airport: @airports[
机场有很多航班
航班有多个航班SKU
before(:all) do
@airports = AIRPORTS.collect{|airport| FG.create(:airport, code: airport)}
@flight = FG.create(:flight, from_airport: @airports[0], to_airport: @airports[3])
@sku = FG.create(:flight_sku, flight: @flight)
@flight_2 = FG.create(:flight, from_airport: @airports[1], to_airport: @airports[2])
@sku_2 = FG.create(:flight_sku, flight_id: @flight_2.id)
end
更新:(非工作版本)_
命名错误:
未定义的方法“single_room=”用于#
你的意思是?单例法
工厂:创建\u房间\u列表
单人房
双人房
结束
工厂:单人房吗
“姓名”單人房"
嘉宾1
结束
工厂:双人房吗
“姓名”雙人房"
嘉宾2
结束
通过调用build(:flight\u sku)
您将创建一个航班
,其中包含一个机场
,以及一个新的航班_sku
,其中包含所述关联集
通过调用create(:flight\u sku)
您将创建所有这些文件
通过调用
build\u stubbed(:flight\u sku)
您将创建flight\u sku
和这两个关联的stubbed资源。如果有任何帮助,请将我的答案标记为正确:create\u rooms\u列表如何处理?当我调用createcreate\u rooms\u列表时,您的解决方案现在可以工作了。
NoMethodError:
undefined method `single_room=' for #<Room:0x007fcbed2e3d60>
Did you mean? singleton_method
factory :create_rooms_list do
single_room
twin_room
end
factory :single_room do
name "單人房"
guests 1
end
factory :twin_room do
name "雙人房"
guests 2
end
factory :flight_sku do
other_fields
flight
end
factory :flight do
other_fields
airport
end
factory :airport do
other_fields
end