質問編集履歴

1 誤字

higumasa

higumasa score 6

2017/03/04 14:45  投稿

Laravel5.1にてパスワード再設定機能がうまく実装できません。
###前提・実現したいこと
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
app/Http/routes.php
<?php
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/
Route::get('/', 'FirstController@index');
Route::get('/posts','PostsController@index');
Route::get('/posts/create','PostsController@create');
Route::get('/posts/{id}','PostsController@show');
Route::get('/posts/{id}/edit','PostsController@edit');
Route::post('/posts','PostsController@store');
Route::patch('/posts/{id}','PostsController@update');
Route::delete('/posts/{id}','PostsController@destroy');
Route::post('/posts/{post}/comments','CommentsController@store');//{post}はpostsの{id}という意味だがわかりやすさのためにこうしている
Route::delete('/posts/{post}/comments/{comment}','CommentsController@destroy');//{comment}はcommentsの{id}という意味だがわかりやすさのためにこうしている
/* ログイン画面の表示 */
Route::get('auth/login', 'Auth\AuthController@getLogin');
/* ログイン処理 */
Route::post('auth/login', 'Auth\AuthController@postLogin');
/* ログアウト */
Route::get('auth/logout', 'Auth\AuthController@getLogout');
/* ユーザー登録画面の表示 */
Route::get('auth/register', 'Auth\AuthController@getRegister');
/* ユーザー登録処理 */
Route::post('auth/register', 'Auth\AuthController@postRegister');
/* 管理画面 */
Route::get('/home', ['middleware' => 'auth', 'uses' => 'DashboardController@index']);
//パスワード再設定
Route::controller('password', 'Auth\PasswordController');
```
```
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上で行っています。
  • Vagrant

    1769 questions

    Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

  • Laravel 5

    3219 questions

    Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る