###前提・実現したいこと
Laravel5.1で掲示板を作っています。
ユーザパスワードの再設定機能を実装中に以下のエラーメッセージが発生しました。
以下のエラーメッセージは「パスワードを再発行する」のボタンを押した後に出てくるエラーメッセージです。
そのボタンを押した後のルートが指定されていないから出るエラーということはわかるのですが、どのようにすれば良いのかがわかりません。
###発生している問題・エラーメッセージ
Sorry, the page you are looking for could not be found. 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 at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in VerifyCsrfToken.php line 50 at VerifyCsrfToken->handle(object(Request), object(Closure)) at call_user_func_array(array(object(VerifyCsrfToken), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in ShareErrorsFromSession.php line 49 at ShareErrorsFromSession->handle(object(Request), object(Closure)) at call_user_func_array(array(object(ShareErrorsFromSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in StartSession.php line 62 at StartSession->handle(object(Request), object(Closure)) at call_user_func_array(array(object(StartSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37 at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) at call_user_func_array(array(object(AddQueuedCookiesToResponse), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in EncryptCookies.php line 59 at EncryptCookies->handle(object(Request), object(Closure)) at call_user_func_array(array(object(EncryptCookies), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in CheckForMaintenanceMode.php line 44 at CheckForMaintenanceMode->handle(object(Request), object(Closure)) at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103 at Pipeline->then(object(Closure)) in Kernel.php line 122 at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 87 at Kernel->handle(object(Request)) in index.php line 54 at require_once('/home/vagrant/blog/public/index.php') in server.php line 21
###該当のソースコード
Laravel
1app/Http/routes.php 2 3<?php 4 5/* 6|-------------------------------------------------------------------------- 7| Application Routes 8|-------------------------------------------------------------------------- 9| 10| Here is where you can register all of the routes for an application. 11| It's a breeze. Simply tell Laravel the URIs it should respond to 12| and give it the controller to call when that URI is requested. 13| 14*/ 15 16Route::get('/', 'FirstController@index'); 17Route::get('/posts','PostsController@index'); 18Route::get('/posts/create','PostsController@create'); 19Route::get('/posts/{id}','PostsController@show'); 20Route::get('/posts/{id}/edit','PostsController@edit'); 21Route::post('/posts','PostsController@store'); 22Route::patch('/posts/{id}','PostsController@update'); 23Route::delete('/posts/{id}','PostsController@destroy'); 24 25Route::post('/posts/{post}/comments','CommentsController@store');//{post}はpostsの{id}という意味だがわかりやすさのためにこうしている 26Route::delete('/posts/{post}/comments/{comment}','CommentsController@destroy');//{comment}はcommentsの{id}という意味だがわかりやすさのためにこうしている 27 28/* ログイン画面の表示 */ 29Route::get('auth/login', 'Auth\AuthController@getLogin'); 30/* ログイン処理 */ 31Route::post('auth/login', 'Auth\AuthController@postLogin'); 32/* ログアウト */ 33Route::get('auth/logout', 'Auth\AuthController@getLogout'); 34/* ユーザー登録画面の表示 */ 35Route::get('auth/register', 'Auth\AuthController@getRegister'); 36/* ユーザー登録処理 */ 37Route::post('auth/register', 'Auth\AuthController@postRegister'); 38/* 管理画面 */ 39Route::get('/home', ['middleware' => 'auth', 'uses' => 'DashboardController@index']); 40 41//パスワード再設定 42Route::controller('password', 'Auth\PasswordController'); 43 44
resources/views/auth/password.blade.php <!-- メールアドレス入力画面 --> @extends('auth') @section('content') <div class="page-header"> <div class="container"> <h2>Password Reset</h2> </div> </div> <div class="container"> <div class="row"> <div class="col-md-6 col-md-offset-3"> <div class="panel-body"> @if (count($errors) > 0) <div class="alert alert-danger"> <strong>Error!</strong> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif <div class="form-horizontal"> {!! Form::open() !!} <div class="form-group"> {!! Form::label('email', 'メールアドレス', array('class' => 'col-md-3 text-right')) !!} <div class="col-md-9"> {!! Form::input('email','email','', array('class' => 'form-control')) !!} </div> </div> <div class="form-group"> <div class="col-md-offset-3 col-md-9"> {!! Form::submit('パスワードを再発行する', array('class' => 'btn btn-success')) !!} </div> </div> {!! Form::close() !!} </div> </div> </div> </div> </div> @endsection
###試したこと
route.phpの
//パスワード再設定
Route::controller('password', 'Auth\PasswordController');
を
// パスワードリセットリンクを要求するルート
Route::get('password/email', 'Auth\PasswordController@getEmail');
Route::post('password/email', 'Auth\PasswordController@postEmail');
// パスワードリセットルート
Route::get('password/reset/{token}', 'Auth\PasswordController@getReset');
Route::post('password/reset', 'Auth\PasswordController@postReset');
に変更しても同じエラーが出ました。
###補足情報(言語/FW/ツール等のバージョンなど)
Laravel5.1
vagrant上で行っています。