我的 Rails 项目有三个 FactoryBot 工厂。如果我使用 FactoryBot.lint 测试工厂有效性,则书籍工厂无效 - 根据此错误。我做错了什么吗?
Book format can't be blank
book.rb 工厂:
FactoryBot.define do
factory :book do
title { 'The Hobbit' }
book_format
owner
end
end
book_format.rb 工厂:
FactoryBot.define do
factory :book_format do
name { 'default' }
end
end
owner.rb 工厂:
FactoryBot.define do
factory :owner do
email { '[email protected]' }
password { 'password'}
end
end
编辑:意识到我忘了从模型中添加代码 - 这里是:
书本模型相关代码:
belongs_to :book_format, counter_cache: true
belongs_to :owner, counter_cache: true
book_format模型的相关代码:
has_many :books
所有者模型的相关代码:
has_many :books, dependent: :destroy
我不明白为什么我在 book_format 上收到此错误消息 - 而不是在所有者上(这也很奇怪但至少是一致的?)。