セキュリティ系の勉強・その他開発メモとか雑談. Twitter, ブログカテゴリ一覧
本ブログはあくまでセキュリティに関する情報共有の一環として作成したものであり,公開されているシステム等に許可なく実行するなど、違法な行為を助長するものではありません.

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

//

解決

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

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


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


参考

teratail.com