diff --git a/.gitignore b/.gitignore index 0c14ba2..6035d85 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +*.swp +**/*.swp *.gem Gemfile.lock .bundle diff --git a/lib/cancan/active_record_additions.rb b/lib/cancan/active_record_additions.rb index 24f03ae..fb7c095 100644 --- a/lib/cancan/active_record_additions.rb +++ b/lib/cancan/active_record_additions.rb @@ -21,7 +21,7 @@ module CanCan # internally uses Ability#conditions method, see that for more information. def accessible_by(ability, action = :read) query = ability.query(action, self) - if respond_to? :where + if respond_to?(:where) && respond_to?(:joins) where(query.conditions).joins(query.joins) else scoped(:conditions => query.conditions, :joins => query.joins)