think it should be: validates :game_id, uniqueness: {scope: :genre_id, allow_blank: true}
среда, 3 апреля 2013 г., 13:56:48 UTC+4 пользователь Lephyrius написал: > > 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+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-talk@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/VGGosWbwnjQJ. For more options, visit https://groups.google.com/groups/opt_out.