问题
I know that to prevent this from happening:
user_id: 10 | friend_id: 20
user_id: 10 | friend_id: 20
You can use
validates :user_id, uniqueness: {scope: :friend_id}
But what if you want to prevent a user from adding himself as a his own friend?
user_id: 10 | friend_id: 10
回答1:
This should work. You're ensuring that friend_id can't equal user_id
validates :friend_id, exclusion: {in: ->(u) { [u.user_id] }}
来源:https://stackoverflow.com/questions/33698881/how-to-validate-unique-ids-in-two-columns-in-rails