2017-11-01 8 views
0

をルーティングリバース:コントローラでCakePHPの-3.5.4 - 予想通り、私は定義する私のroutes.phpファイルでは動作しない

Router::prefix('admin', function ($routes) { 
    $routes->connect(
     '/', 
     [ 
      'plugin' => false, 
      'controller' => 'Users', 
      'action' => 'dashboard' 
     ], 
     ['_name' => 'admin_dashboard'] 
    ); 
    $routes->fallbacks(DashedRoute::class); 
}); 

、私は:

debug(Router::url(['_name' => 'admin_dashboard'])); 

それは、ある/adminを印刷します正しい

しかし場合は、同じコントローラでは、私は:

debug(Router::url([ 
    'prefix' => 'admin', 
    'plugin' => false, 
    'controller' => 'Users', 
    'action' => 'dashboard' 
])); 

それは私はそれが/adminを印刷することを期待して、少なくとも私は思う、間違ってある/admin/users/dashboardを印刷します。

逆ルーティングを作成するために欠落しているものはありますか?私は、CakePHP 3.5.4 pluginキーが本当にブール値をサポートしていません

答えて

0

を使用しています

、値にはプラグインが使用されるべきでないことを示すために、プラグインの名前を持つ文字列、またはnullのいずれかでなければなりません。

falseを使用すると、ルートが一致しなくなり、代わりに代替ルートによってキャッチされます。したがって、最終的に/admin/users/dashboardというURLになります。

を参照してください。
関連する問題