diff --git a/lib/cancan/controller_resource.rb b/lib/cancan/controller_resource.rb index 702fbcfb..5c771204 100644 --- a/lib/cancan/controller_resource.rb +++ b/lib/cancan/controller_resource.rb @@ -177,7 +177,9 @@ def collection_instance def resource_base if @options[:through] if parent_resource - @options[:singleton] ? resource_class : parent_resource.send(@options[:through_association] || name.to_s.pluralize) + base = @options[:singleton] ? resource_class : parent_resource.send(@options[:through_association] || name.to_s.pluralize) + base = base.scoped if base.respond_to?(:scoped) && defined?(ActiveRecord) && ActiveRecord::VERSION::MAJOR == 3 + base elsif @options[:shallow] resource_class else