validates uniqueness scope allow_blank/allow_nil -> validation error

I have this in a model: class GenreBadge < ActiveRecord::Base

  belongs_to :game, counter_cache: :genre_badges_count, touch: true   belongs_to :genre   validates :game_id, uniqueness: {scope: :genre_id}, allow_blank: true

end

When I get one existing genre badge genre_badge = game.genre_badges.first genre_badge.game_id = nil genre_badge.save!

It creates an validation exception: "ActiveRecord::RecordInvalid: Validation failed: Game has already been taken"

I already have have specified that I want to allow_blank. I really don't know why I get the validation error. I also tested allow_nil but got the same error.

think it should be:

validates :game_id, uniqueness: {scope: :genre_id, allow_blank: true}