我有一个具有表单字段的表单对象(通过外键 form_id)
一个表单有很多form_fields。
还有与form_fields关联的form_field_labels(通过外键field_id)
一个 form_field 有一个 form_field_label。
我正在尝试构建一些基本工厂,以便测试我的表单、方法和验证。
这是我到目前为止所拥有的:
FactoryGirl.define do
factory :default_form , class: Form do
form_name "Default Form"
form_url "default"
enctype "multipart/form-data"
form_type ""
form_layout "1_column"
group_id 0
response_fields "photo,first_name,last_name"
default_form 0
language "en"
submit_button_text "Submit"
reset_button_text "Reset"
default_dropdown_text "Please Select"
sort 0
default_status "NEW"
apply_flag false
require_advisory false
add_button_text "Add Another Applicant"
follows_group_default false
factory :default_form_with_fields do
ignore do
form_fields_count 5
form_field_labels_count 5
end
after(:create) do |form, evaluator|
FactoryGirl.create_list(:form_field, evaluator.form_fields_count, form: form)
end
end
end
end
我从 FactoryGirl github 页面复制了 create_list 函数,但不知道我的测试用例是否需要它,我只想为基本的 Form->form_fields->form_field_label 关系建立一个工厂。
after createblock 似乎正确设置了我的默认表单字段。问题是我需要每个 form_field 都有一个关联的 form_field_label。
在我们的模式中,没有 form_field_label 就没有 form_field 这样的东西。
我是工厂女孩的新手,并且希望至少建立这些基本关联,以便每当我有一个表单时,它会自动创建一些测试 form_fields(通过工厂女孩)和一些测试 form_field_labels。
任何帮助将不胜感激。
谢谢