Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 创建工厂以生成嵌套资源_Ruby On Rails_Factory Bot - Fatal编程技术网

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
如何通过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[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列表如何处理?当我调用create
create\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