【发布时间】:2018-03-31 21:32:56
【问题描述】:
这是一组控制器的列表:
Route::group([
'prefix' => 'some-prefix',
], function () {
Route::get('/', 'MyController@index')->name('some-prefix');
Route::post('/get', 'MyController@getData')->name('some-prefix.get');
Route::get('/getall/{type}', 'MyController@getAllData')->name('some-prefix.getall');
Route::get('/create', 'MyController@create')->name('some-prefix.create');
Route::post('/', 'MyController@store')->name('some-prefix.store');
Route::get('/edit', 'MyController@edit')->name('some-prefix.edit');
Route::get('/{id}/edit/', 'MyController@edit')->name('some-prefix.edit');
Route::put('/{id}', 'MyController@update')->name('some-prefix.update');
Route::get('/cambiarestado/{id}', 'MyController@cambiarestado')->name('some-prefix.cambiarestado');
});
我想在输入 URL 时重定向到 404 错误:
http://myapp.com/some-prefix/ANYTHING-that-doesnt-match
这是我收到下一个错误的时间:
(1/1) MethodNotAllowedHttpException
in RouteCollection.php (line 251)
at RouteCollection->methodNotAllowed(array('PUT'))
in RouteCollection.php (line 238)
at RouteCollection->getRouteForMethods(object(Request), array('PUT'))
in RouteCollection.php (line 176)
我在我的控制器中的store 和edit 方法中放置了一个failOrFind,这样我就可以重定向到404 条路由,例如:
http://myapp.com/some-prefix/9999/edit
9999的值不存在,但我该怎么做?
【问题讨论】:
-
MyController@update 和 MyController@edit 的代码是什么?由于这些接受动态参数,因此您应该在那里处理 404。