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