Ruby on Rails Wednesday, April 3, 2013

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.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment