diff --git a/lib/cancan/mongoid_additions.rb b/lib/cancan/mongoid_additions.rb index 37fd37c..31eb7d6 100644 --- a/lib/cancan/mongoid_additions.rb +++ b/lib/cancan/mongoid_additions.rb @@ -86,7 +86,7 @@ module CanCan if query.conditions.blank? # this query is sure to return no results # we need this so there is a Mongoid::Criteria object to return, since an empty array would cause problems - where({:_id => {'$exists' => true, '$type' => 2}}) + where({:_id => {'$exists' => false, '$type' => 7}}) # type 7 is an ObjectID (default for _id) else where(query.conditions) end diff --git a/spec/cancan/mongoid_additions_spec.rb b/spec/cancan/mongoid_additions_spec.rb index 68df0eb..9f8e423 100644 --- a/spec/cancan/mongoid_additions_spec.rb +++ b/spec/cancan/mongoid_additions_spec.rb @@ -51,6 +51,10 @@ describe CanCan::MongoidAdditions do end it "should return [] when no ability is defined so no records are found" do + @model_class.create :title => 'Sir' + @model_class.create :title => 'Lord' + @model_class.create :title => 'Dude' + @model_class.accessible_by(@ability, :read).should == [] end