[英]How can I access to a child class instead of parent class in a 'callback' function of factorybot in ruby on rails?
我在 ROR 中實施了 STI。 請看下面的代碼:
class Category < ApplicationRecord
end
class CourseCategory < Category
has_many :courses
end
我使用 FactoryBot 創建這樣的數據:
# category
FactoryBot.define do
factory :category do
name {"Ruby on Rails"}
end
end
# course_category
FactoryBot.define do
factory :course_category, parent: :category, class: 'Category' do
trait :with_course do
after(:create) do |course_category| # my problem is here
create :course, :with_steps, course_category: course_category
end
end
end
# course
FactoryBot.define do
factory :course do
course_category
end
end
當我運行FactoryBot.create(:course_category, :with_course)
,進入trait :with_course
,我應該有CourseCategory類,但我收到Category 。
我可以訪問父類而不是子類到 FactoryBot 的回調中嗎?
您的工廠正在將:course_category
為錯誤的類。
這條線需要改變...
factory :course_category, parent: :category, class: 'Category' do
進入...
factory :course_category, parent: :category, class: 'CourseCategory' do
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.