How to validate unique id's in two columns in rails?

给你一囗甜甜゛ 提交于 2020-01-07 03:07:05

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!