Ruby-on-rails – Validate uniqueness of multiple columns

activerecordrails-activerecordruby-on-railsruby-on-rails-3validation

Is there a rails-way way to validate that an actual record is unique and not just a column? For example, a friendship model / table should not be able to have multiple identical records like:

user_id: 10 | friend_id: 20
user_id: 10 | friend_id: 20

Best Answer

You can scope a validates_uniqueness_of call as follows.

validates_uniqueness_of :user_id, :scope => :friend_id