exA*_*Ark 2 rspec ruby-on-rails factory-bot
我有FactoryGirl的问题:
这是我的2家工厂:
FactoryGirl.define do
factory :task do
...
after(:build) do |task|
question = FactoryGirl.create(:question)
task.questions = [question]
end
end
end
Run Code Online (Sandbox Code Playgroud)
和
FactoryGirl.define do
factory :question do
association :task, factory: :task
...
end
end
Run Code Online (Sandbox Code Playgroud)
问题工厂创建任务,任务工厂创建问题等.所以,我有一条消息:"SystemStackError:堆栈级别太深".
如何在不破坏关联的情况下解决此问题?
你得到的"堆栈级别太深"错误是因为你要按照彼此的方式定义两个工厂.您不需要工厂中的association :task, factory: task行question- 在创建任务时将设置关联.
试试这个task工厂:
FactoryGirl.define do
factory :task do
...
questions { [ FactoryGirl.create(:question) ] }
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1982 次 |
| 最近记录: |