ステータス列(アクティブまたは削除済み)を持つモデルに取り組んでいます
今、私はこのような一意性の検証を行っています
validates :name, :uniqueness => {:scope => :user_id }
ACTIVE レコードのみに別の「スコープ」を追加したいと思います。以下の検証のように(機能しませんでした)
validates :name, uniqueness: {scope: :user_id }, condition: ['state = ?', 'active']
SQL ステートメントで検証を行う場合、以下のような「何か」になります。
SELECT COUNT(*) FROM table_name WHERE name = '[name]' AND status = 'active'
この問題の解決策の 1 つは、デフォルト スコープを追加することですが、私の場合はそうではありません。デフォルト スコープは必要ありません。