在Laravel4中路由[RemindersController @ postRemind]未定义错误

时间:2015-05-27 06:00:03

标签: php laravel-4 forgot-password

我正在实施Laravel的密码提醒功能,但遇到了这个错误:

Route [RemindersController@postRemind]未定义。

我正在使用Laravel 4并且对Laravel来说是全新的。我使用了

php artisan auth:reminders-controller

创建RemindersController

   <?php

   class RemindersController extends Controller {

  public function getRemind()
  {
    return View::make('password_remind');
  }

public function postRemind()
{

   Password::remind(Input::only('email'), function($message)
  {
     $message->subject('Password Reminder');
  });                
}

public function getReset($token = null)
{
    if (is_null($token)) App::abort(404);

    return View::make('password.reset')->with('token', $token);
}

public function postReset()
{
    $credentials = Input::only(
        'email', 'password', 'password_confirmation', 'token'
    );

    $response = Password::reset($credentials, function($user, $password)
    {
        $user->password = Hash::make($password);

        $user->save();
       });

       switch ($response)
       {
        case Password::INVALID_PASSWORD:
        case Password::INVALID_TOKEN:
        case Password::INVALID_USER:
            return Redirect::back()->with('error', Lang::get($response));

        case Password::PASSWORD_RESET:
            return Redirect::to('/');
        }
     }
   }

我创建了视图password_remind.blade.php,如下所示:

 @extends('layouts.default_layout')
 @section('content')
     <div class="row" style="min-height: 376px">
       <div class="col-sm-4">
       </div>
       <div class="col-sm-4">
       </div>
       <div class="col-sm-4" style="padding-top: 70px;">
        <div class="login">
           <form action="{{action('RemindersController@postRemind')}}" method="POST">
               <input type="email" name="email" placeholder="Email">
                <input type="submit" value="Send">
            </form> 
        </div>
       </div> 
     </div>
 @stop

在root中我添加了Route::get('forgotPassword', 'RemindersController@getRemind');   网址http://localhost/laravel_work/public/forgotPassword提供了

Route [RemindersController@postRemind]未定义

错误。 我哪里错了?我找不到错误。请帮助我:(*

1 个答案:

答案 0 :(得分:2)

Welp,如果你看一下你的表格action="{{action('RemindersController@postRemind')}}"

但据你所知,你添加的唯一途径是RemindersController@getRemind

我假设您现在只想获取快速检查视图,但是action()实际上可能正急切地寻找那条不存在的路线。

当您发布表单或获得视图时,您的应用程序是否会死亡?无论哪种方式定义发布的路线,就像使用获取一样,应该修复它。