我有这个代码在以前的版本中工作,现在不再工作了。我正在做这样简单的用户自动化:
形式:
{{ Form::open(array(
'url' => 'login',
'method' => 'PUT',
'class' => 'pure-form pure-form-stacked'
)) }}
{{ $errors->first('email') }}
{{ $errors->first('password') }}
{{ Form::text('email', Input::old('email'), array('placeholder' => 'user')) }}
{{ Form::password('password', array('placeholder' => 'password')) }}
{{ Form::submit('Log in', array('class'=>'button-primary')) }}
{{ Form::close() }}
路线:
Route::get('login', array('https', function(){
return View::make('back-end/login');
}));
Route::post('login', array('https', function(){
$userdata = array(
'email' => Input::get('email'),
'password' => Input::get('password')
);
if(Auth::attempt($userdata)){
return Redirect::to('dashboard');
} else {
return Redirect::to('login');
}
}));
Route::group(['before' => 'auth', 'prefix' => 'dashboard'], function(){
Route::get('/', 'DashboardController@getDashboard');
Route::resource('blog', 'BlogController');
Route::get('logout', [
'as' => 'logout',
'uses' => 'UserController@getLogout'
]);
});
登录页面将加载,但是当我提交表单时,我会输出MethodNotAllowedHttpException。
答案 0 :(得分:3)
您的登录路线为POST
,但您的表单正在使用PUT
。在'method' => 'PUT',
电话中将'method' => 'POST',
切换为Form::open
(因为您不应该使用PUT
),它应该有效。