-
Type: Task
-
Resolution: Done
-
Affects Version/s: None
-
Component/s: None
-
Labels:
ActiveRecord supports giving multiple columns to validates_uniqueness_of's :scope (per http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#method-i-validates_uniqueness_of):
validates_uniqueness_of :teacher_id, :scope => [:semester_id, :class_id]
This appears to be supported as of 2.0.0.beta.20, but does NOT work if any of the elements in the :scope are Times (i.e. :deleted_at):
==> TypeError: can't convert Time into Hash
from /Users/doug/.rvm/gems/ruby-1.9.2-p0/gems/mongoid-2.0.0.beta.20/lib/mongoid/criterion/inclusion.rb:129:in `merge!'
from /Users/doug/.rvm/gems/ruby-1.9.2-p0/gems/mongoid-2.0.0.beta.20/lib/mongoid/criterion/inclusion.rb:129:in `block in where'
from /Users/doug/.rvm/gems/ruby-1.9.2-p0/gems/mongoid-2.0.0.beta.20/lib/mongoid/criterion/inclusion.rb:127:in `each_pair'
from /Users/doug/.rvm/gems/ruby-1.9.2-p0/gems/mongoid-2.0.0.beta.20/lib/mongoid/criterion/inclusion.rb:127:in `where'
from /Users/doug/.rvm/gems/ruby-1.9.2-p0/gems/mongoid-2.0.0.beta.20/lib/mongoid/validations/uniqueness.rb:36:in `block in validate_each'