gpt4 book ai didi

ruby-on-rails - 如何指定与factory_bot的关联?

转载 作者:数据小太阳 更新时间:2023-10-29 06:48:39 25 4
gpt4 key购买 nike

例如我有两个模型一个用户和一个帖子。一个帖子属于_一个用户,一个用户有很多帖子

#spec/factories/post.rb
FactoryBot.define do
factory :post do
user
body Faker::Movie.quote
posted_at "2018-04-03 13:33:05"
end
end

#spec/factories/user.rb
FactoryBot.define do
factory :user do
first_name 'Jake'
end
end

在测试中使用 Rspec 我想这样做:

user = create(:user, first_name: 'Barry') #id 1
post = create(:post, user: user)

我希望帖子的 user_id 为 1,但它之前创建了另一个用户,而 user_id 为 2。

如何在使用 factory_bot/factory_girl 创建对象时指定关联?

最佳答案

您应该使用显式 关联而不是隐式 关联:

#spec/factories/post.rb
FactoryBot.define do
factory :post do
association :user # <<<--- here the change
body Faker::Movie.quote
posted_at "2018-04-03 13:33:05"
end
end

#spec/factories/user.rb
FactoryBot.define do
factory :user do
first_name 'Jake'
end
end

https://github.com/thoughtbot/factory_bot/blob/master/GETTING_STARTED.md#associations

关于ruby-on-rails - 如何指定与factory_bot的关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50061163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com