管理者ユーザー向けに条件付き検証をグループ化するために with_options を使用しようとしています。ユーザー名の一意性に関する 2 番目の検証では、with_options 条件が上書きされます。
これを行うより良い方法はありますか?それとも、with_options のことは忘れて、2 つの別々のステートメントを作成する必要がありますか?
with_options :if => Proc.new { |user| user.admin? } do |admin|
admin.validates :email, :presence => true
admin.validates :username, :uniqueness => true, :if => Proc.new { |user| user.category == "customized_username" }
end