セキュリティ系の勉強、その他開発メモとか雑談. GithubはUnity触っていた頃ものがメイン Twitterフォローもよろしくです

【Rails】コールバックで自分以外のレコードとユニーク判定を行う

解決

レアケースだと思いますが、バリデーションのコールバックでhoge_columnsという属性のユニーク判定をしたい場合です。特に難しいことはなく、下のようにやります。

User.where(hoge_columns:self.hoge_columns).where.not(id: self.id).empty?


本来ならuniqueness:trueをかければ良いと思いますが、色々と状態で判定を分けたかったので、こうなりました。


参考

teratail.com