From c82aaa96dfe90c62193cb33a1b2683b5952dfd03 Mon Sep 17 00:00:00 2001 From: Chris Hickingbottom Date: Wed, 5 Apr 2017 13:31:19 -0500 Subject: [PATCH] adding controller mapping in resources ref #10423 --- src/Routing/RouteBuilder.php | 3 ++- tests/TestCase/Routing/RouteBuilderTest.php | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/Routing/RouteBuilder.php b/src/Routing/RouteBuilder.php index 75baeb9235e..65364947b5f 100644 --- a/src/Routing/RouteBuilder.php +++ b/src/Routing/RouteBuilder.php @@ -324,6 +324,7 @@ public function resources($name, $options = [], $callback = null) 'actions' => [], 'map' => [], 'prefix' => null, + 'controller' => $name ]; foreach ($options['map'] as $k => $mapped) { @@ -365,7 +366,7 @@ public function resources($name, $options = [], $callback = null) $url = '/' . implode('/', array_filter([$urlName, $params['path']])); $params = [ - 'controller' => $name, + 'controller' => $options['controller'], 'action' => $action, '_method' => $params['method'], ]; diff --git a/tests/TestCase/Routing/RouteBuilderTest.php b/tests/TestCase/Routing/RouteBuilderTest.php index 65ba5ff5ce4..f5ed0ee8a41 100644 --- a/tests/TestCase/Routing/RouteBuilderTest.php +++ b/tests/TestCase/Routing/RouteBuilderTest.php @@ -408,6 +408,19 @@ public function testResources() $this->assertEquals('Articles', $all[0]->defaults['controller']); } + /** + * Test connecting resources with a controller + * + * @return void + */ + public function testResourcesController() + { + $routes = new RouteBuilder($this->collection, '/api'); + $routes->resources('Articles', ['controller' => 'Posts']); + $all = $this->collection->routes(); + $this->assertEquals('Posts', $all[0]->defaults['controller']); + } + /** * Test connecting resources with a prefix *