我是个新手,我正在学习一些教程
这段代码运行良好
Route::group(['middleware' => 'web'], function() {
Route::resource('tes', 'TesController');
});
<form action="{{ route('tes.destroy',3) }}" method="post">直到我像这样修改了它
Route::resource('tes/keren', 'TesController');
<form action="{{ route('tes/keren.destroy',3) }}" method="post">上面写着tes/keren.DESTORY undefined....只有一个简单的问题,我应该修改哪一个,我可以用/
谢谢
发布于 2017-06-06 20:34:00
Route::resource('url/resource-route','ResouceControllerName')接受最后一个段的作为资源名称,然后自动为它构建路由。
当您使用Route::resource('tes', 'TesController');时,它会为tes资源(如tes.store、tes.create、tes.destroy等)构建路由
但是当您更改到此Route::resource('tes/keren', 'TesController');的路由时
它将所有路由绑定到keren资源。
因此,请在您的刀片文件中使用它。
<form action="{{ route('keren.destroy', 3) }}" method="post">发布于 2017-06-06 16:23:03
route()帮助器使用路由名称来构建URL,因此您应该这样做:
<form action="{{ route('keren.destroy', 3) }}" method="post">您可以使用以下命令查看所有可用路由和路由名称:
php artisan route:list发布于 2017-06-06 16:29:36
route帮助器函数将路由名称作为参数。当您更改路由url时,路由名称从tes.destroy更改为keren.destroy。因此您需要将表单操作更改为
<form action="{{ route('keren.destroy', 3) }}" method="post">如果您想检查路由名称,只需从终端/控制台运行php artisan route:list即可。在这种情况下,它应该向您显示如下所示的内容。
| GET|HEAD | tes/keren | keren.index | App\Http\Controllers\TesController@index | web |
| POST | tes/keren | keren.store | App\Http\Controllers\TesController@store | web |
| GET|HEAD | tes/keren/create | keren.create | App\Http\Controllers\TesController@create | web |
| GET|HEAD | tes/keren/{keren} | keren.show | App\Http\Controllers\TesController@show | web |
| PUT|PATCH | tes/keren/{keren} | keren.update | App\Http\Controllers\TesController@update | web |
| DELETE | tes/keren/{keren} | keren.destroy | App\Http\Controllers\TesController@destroy | web |
| GET|HEAD | tes/keren/{keren}/edit | keren.edit | App\Http\Controllers\TesController@edit | web |https://stackoverflow.com/questions/44384829
复制相似问题