我正在实施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]
未定义
错误。 我哪里错了?我找不到错误。请帮助我:(*
答案 0 :(得分:2)
Welp,如果你看一下你的表格action="{{action('RemindersController@postRemind')}}"
但据你所知,你添加的唯一途径是RemindersController@getRemind
我假设您现在只想获取快速检查视图,但是action()
实际上可能正急切地寻找那条不存在的路线。
当您发布表单或获得视图时,您的应用程序是否会死亡?无论哪种方式定义发布的路线,就像使用获取一样,应该修复它。