use 'send' to access controller current_ability in case it's private

This commit is contained in:
Ryan Bates 2010-09-23 11:58:55 -07:00
parent 3391c5a0d7
commit 1f81b8dd1e
2 changed files with 9 additions and 5 deletions

View File

@ -10,9 +10,9 @@
* Abilities can be defined with a string of SQL in addition to a block so accessible_by works with a block - see issue #150 * Abilities can be defined with a string of SQL in addition to a block so accessible_by works with a block - see issue #150
* Adding etter support for InheritedResource - see issue #23 * Adding better support for InheritedResource - see issue #23
* Loading the collection instance variable with accessible_by - see issue #137 * Loading the collection instance variable (for index action) using accessible_by - see issue #137
* Adding action and subject variables to I18n unauthorized message - closes #142 * Adding action and subject variables to I18n unauthorized message - closes #142

View File

@ -53,11 +53,11 @@ module CanCan
def load_collection? def load_collection?
resource_base.respond_to?(:accessible_by) && resource_base.respond_to?(:accessible_by) &&
!@controller.current_ability.has_block?(authorization_action, resource_class) !current_ability.has_block?(authorization_action, resource_class)
end end
def load_collection def load_collection
resource_base.accessible_by(@controller.current_ability) resource_base.accessible_by(current_ability)
end end
def build_resource def build_resource
@ -70,7 +70,7 @@ module CanCan
end end
def initial_attributes def initial_attributes
@controller.current_ability.attributes_for(@params[:action].to_sym, resource_class) current_ability.attributes_for(@params[:action].to_sym, resource_class)
end end
def find_resource def find_resource
@ -156,6 +156,10 @@ module CanCan
end end
end end
def current_ability
@controller.send(:current_ability)
end
def name def name
@name || name_from_controller @name || name_from_controller
end end