当前位置: 首页 > 知识库问答 >
问题:

为什么我的协会使用Factory Bot不起作用?

赵景曜
2023-03-14

我正在使用Factory Bot来指定两个模型,车辆和文档之间的关联。车辆has_many文档和车辆belongs_to文档。它们如下所示:

#spec/factories/vehicles.rb

    FactoryBot.define do
      factory :vehicle do
        user { nil }
        vehicle_model
        vehicle_color
        vehicle_type { FactoryBot.build(:vehicle_type, name:"Terrestre") }
        vehicle_year
        identifier { 'MyString' }
        status { :active }
        category
    
      end 
    end

#spec/factories/documents.rb
FactoryBot.define do
  factory :document do
    vehicle { nil }
    status { 'valid_file' }
    name { 'CRLV' }
  
  end
end

在这个项目中,我有一个角色驱动者,需要一个活动的车辆文档(这是我想要建立的关联)来驾驶。我在要检查的代码点插入了byebug。首先我检查了车辆是否激活,所以我键入:driver。active_车辆,我收到:

#

其次,我检查了关联是否正在发生,所以我键入:driver。active_车辆。文件和我收到了以下回复:

#

是空的。为什么会这样,我该怎么解决?

共有1个答案

安高翰
2023-03-14

你的工厂不是叫车,而是叫车。

这样使用:

FactoryBot.create(:vehicle, :with_document)

此外,您将:with_document特征添加到文档工厂,而不是根据您的使用将车辆工厂。

 类似资料:
  • Stage.close()对我不起作用。 我查看了:JavaFX2.0:关闭一个舞台(窗口) 这是我的代码: 下面是调用消息框类的代码:

  • 我正在尝试检测我的两个精灵何时发生碰撞。我做的第一件事是在我的播放器周围创建一个矩形(称为player.img),然后在我想检测的树周围创建另一个矩形(称为背景.treesrect)。我将玩家矩形的坐标设置为等于当用户按下键移动时更新的坐标,但玩家矩形不移动。然后我使用精灵.碰撞(精灵)函数来检测它们是否碰撞并且没有检测到。有人可以向我展示为什么我的播放器矩形没有更新以及其他任何可能错误的内容吗?

  • 问题内容: 我在这里有点困惑。如果我将变量传递给json_decode,它将不起作用: 第一个回显正确显示了我传递的JSON字符串,例如 第二个回显显示NULL。因此,我从第一个回显中获取了字符串,并编写了以下代码: 你怎么说,它向我展示了正确解码的数组。字符串绝对相同,我什至保留转义字符。也许是问题所在? 问题答案: 看起来您的服务器已启用。无论是将其禁用或运行通过使用它之前。

  • 还不起作用。所以我放弃链接,我只是编码:

  • 我对这段代码有一个问题,因为我似乎找不到问题所在?这是我试图解决的问题:-声明并编写一个名为valid_triangle的函数,它将表示三角形三边长度的三个实数作为参数,并根据这三个长度是否能够构成三角形输出真或假。 关于三角形的以下规则: 三角形只能有正长度的边 三角形任意两条边的长度之和必须大于第三条边的长度