我使用的是Laravel 5.2
这就是我写named routes
Route::group( [ 'prefix' => 'admin' ], function () {
Route::resource( 'about', 'AboutController', [ 'as' => 'about' ] );
} );
然后这就是我称之为路线about.admin.about.update
的方式
现在在Laravel 5.4中它是相同的路线
Route::group( [ 'prefix' => 'admin' ], function () {
Route::resource( 'about', 'AboutController', [ 'as' => 'about' ] );
} );
但是当我调用它about.admin.about.update
时,它没有定义路由。
我在named routes
中理解的另一件事我可以像about.admin.create
更新
查看命令route:list
| | GET|HEAD | admin/about | about.about.index | App\Http\Controllers\AboutController@index | web |
| | POST | admin/about | about.about.store | App\Http\Controllers\AboutController@store | web |
| | GET|HEAD | admin/about/create | about.about.create | App\Http\Controllers\AboutController@create | web |
| | PUT|PATCH | admin/about/{about} | about.about.update | App\Http\Controllers\AboutController@update | web |
| | GET|HEAD | admin/about/{about} | about.about.show | App\Http\Controllers\AboutController@show | web |
| | DELETE | admin/about/{about} | about.about.destroy | App\Http\Controllers\AboutController@destroy | web |
为什么名称为about.about.create
不应该是about.create
?
请对此进行任何澄清
答案 0 :(得分:0)
原因是当您指定“as”参数时,您正在为资源路由about
添加前缀about
。离开时应该能满足您的需求:
Route::resource('about', 'AboutController');
这会为您提供路线about.*
。如果您希望admin.about.*
将“as”参数添加到组中(不要忘记在“as”参数中包含尾随句点):
Route::group(['prefix' => 'admin', 'as' => 'admin.'], function () {
Route::resource('about', 'AboutController');
});