Merge pull request #650 from andhapp/fix-pull-request-486

Fixes Nested Resource Loading
This commit is contained in:
Ryan Bates 2012-06-19 10:50:29 -07:00
commit aff8ca60e4
2 changed files with 13 additions and 1 deletions

View File

@ -215,8 +215,12 @@ module CanCan
end
end
def namespace
@params[:controller].split("::")[0..-2]
end
def namespaced_name
@name || @params[:controller].sub("Controller", "").singularize.camelize.constantize
[namespace, name.camelize].join('::').singularize.camelize.constantize
rescue NameError
name
end

View File

@ -215,6 +215,14 @@ describe CanCan::ControllerResource do
resource.should_not be_parent
end
it "should have the specified resource_class if 'name' is passed to load_resource" do
class Section
end
resource = CanCan::ControllerResource.new(@controller, :section)
resource.send(:resource_class).should == Section
end
it "should load parent resource through proper id parameter" do
project = Project.create!
@params.merge!(:controller => "categories", :action => "index", :project_id => project.id)