Laravel 5 在组内使用斜杠时路由不起作用?
Laravel 5 routing not working when using slashes inside groups?
我在 Laravel 5 中遇到一个简单路由的小问题。下面,我不得不评论代码片段。
// It works when I call /tribut.updateStatus URL
$router->group(['prefix' => 'admin', 'before' => 'isLogged|isAdmin'], function ($router) {
$router->resource('tribut', 'Admin\TributController');
$router->get('tribut.updateStatus', 'Admin\TributController@updateStatus');
});
// Does not work when I call: /tribut/updateStatus URL
$router->group(['prefix' => 'admin', 'before' => 'isLogged|isAdmin'], function ($router) {
$router->resource('tribut', 'Admin\TributController');
$router->get('tribut/updateStatus', 'Admin\TributController@updateStatus');
});
我想使用第二个路线选项。可能吗?我究竟做错了什么?当我调用不起作用的路由时,屏幕变为空白。没有显示错误,日志文件中也没有。
问题是 $router->resource('tribut')
注册了一个缓存所有内容的路由 GET tribut/*
因为它认为 *
是一个 id。
解决方案非常简单,只需在资源路由之前定义显式获取路由:
$router->group(['prefix' => 'admin', 'before' => 'isLogged|isAdmin'], function ($router) {
$router->get('tribut/updateStatus', 'Admin\TributController@updateStatus');
$router->resource('tribut', 'Admin\TributController');
});
我在 Laravel 5 中遇到一个简单路由的小问题。下面,我不得不评论代码片段。
// It works when I call /tribut.updateStatus URL
$router->group(['prefix' => 'admin', 'before' => 'isLogged|isAdmin'], function ($router) {
$router->resource('tribut', 'Admin\TributController');
$router->get('tribut.updateStatus', 'Admin\TributController@updateStatus');
});
// Does not work when I call: /tribut/updateStatus URL
$router->group(['prefix' => 'admin', 'before' => 'isLogged|isAdmin'], function ($router) {
$router->resource('tribut', 'Admin\TributController');
$router->get('tribut/updateStatus', 'Admin\TributController@updateStatus');
});
我想使用第二个路线选项。可能吗?我究竟做错了什么?当我调用不起作用的路由时,屏幕变为空白。没有显示错误,日志文件中也没有。
问题是 $router->resource('tribut')
注册了一个缓存所有内容的路由 GET tribut/*
因为它认为 *
是一个 id。
解决方案非常简单,只需在资源路由之前定义显式获取路由:
$router->group(['prefix' => 'admin', 'before' => 'isLogged|isAdmin'], function ($router) {
$router->get('tribut/updateStatus', 'Admin\TributController@updateStatus');
$router->resource('tribut', 'Admin\TributController');
});