Laravel 5.1 NotFoundHttpException in RouteCollection.php line 161:

你。 提交于 2019-12-12 02:52:13

问题


I get this error when I try to access delayTime method. I can't see what I am doing wrong. I have the routes setup like this:

Route::post('quiz', [ 'as' => 'quiz', 'uses' => 'QuizController@create' ]);
Route::get('quiz/token/{quizByToken}', [ 'as' => 'quiz.token', 'uses' => 'QuizController@getQuizByToken' ]);
Route::get('quiz/code/{quizByCode}', [ 'as' => 'quiz.code', 'uses' => 'QuizController@getQuizByCode' ]);
Route::get('quiz/id/{quiz}/players', [ 'as' => 'quiz.players', 'uses' => 'QuizController@getQuizPlayers' ]);
Route::get('quiz/token/{quizByToken}/players/highscore', [ 'as' => 'quizzes.player.highscore', 'uses' =>    'PlayerController@highscore' ]);
Route::put('quiz/nextQuestion/{quizByToken}', [ 'as' => 'quizzes.nextQuestion', 'uses' => 'QuizController@nextQuestion' ]);
Route::get('quiz/poll/{quiz}', [ 'as' => 'quizzes.poll', 'uses' => 'QuizController@currentQuestion' ]);
Route::put('quiz/poll/token/{quizByToken}/delay-current/{delayTime}', [ 'as' => 'quizzes.delayTime', 'uses' => 'QuizController@delayTime' ]);

Error message:

NotFoundHttpException in RouteCollection.php line 161 in RouteCollection.php line 161
at RouteCollection->match(object(Request)) in Router.php line 750
at Router->findRoute(object(Request)) in Router.php line 659
at Router->dispatchToRoute(object(Request)) in Router.php line 635
at Router->dispatch(object(Request)) in Kernel.php line 236
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 139

回答1:


You are using the following route:

Route::put(
    'quiz/poll/token/{quizByToken}/delay-current/{delayTime}',
    [ 'as' => 'quizzes.delayTime', 'uses' => 'QuizController@delayTime'
]);

Which means when you submit the form, you've to pass a hidden input field named _token with value put in it, for example:

<form method='POST'>
    <input type="hidden" name="_method" value="PUT" />
    <!-- Other Fields -->
</form>

I'm sure you missed it. You may check Form Method Spoofing for more information on this topic.



来源:https://stackoverflow.com/questions/36060832/laravel-5-1-notfoundhttpexception-in-routecollection-php-line-161

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!