Я пишу Rspec requests spec
, и перед этим я хочу построить некоторые тестовые данные, используя FactoryBot
.
И теперь у меня есть модель Game
:
class Game < ApplicationRecord
has_many :game_levels
и модель GameLevel
:
class GameLevel < ApplicationRecord
belongs_to :game
По моему /spec/factories/game.rb
:
FactoryBot.define do
factory :game do
name { :Mario }
end
end
По моему spec/factories/game_level.rb
:
FactoryBot.define do
factory :game_level do
name { :default }
min_level { 0 }
max_level { 100 }
game
end
end
По моему spec/requests/user_plays_game_spec.rb
, я просто написал код для создания game & game_level и напечатал game.id
, game_level.game_id
.Я обнаружил, что они не одинаковы.кроме того, game.game_levels
возвращает nil
.
before(:all) do
@game = create(:game)
@game_level = create(:game_level)
end
describe do
it do
puts @game,id, @game_level.game_id
puts @game.game_levels
expect(@game.id).to eql(@game_level.game_id)
end
end
Так как мне связать запись belongs_to
с записью has_many
, используя FactoryBot
?