Walidacja niestandardowa szyn - tylko jeden rekord może być prawdziwy

Próbuję napisać walidację, w której tylko jeden rekord może być prawdziwy. Mam model „gry” z „aktywną” kolumną logiczną, tylko jedna gra może być aktywna w dowolnym momencie, więc jeśli ktoś próbuje utworzyć nowy rekord „gry”, gdy jest już aktywna gra, powinien otrzymać błąd . Poniżej znajduje się to, co aktualnie mam, ale nie działa!

validate :active_game

  def active_game
    if active == true && Game.find_by(active: true) == true
       errors[:name] = "a game is already active!"
    end
  end

questionAnswers(3)

yourAnswerToTheQuestion