Laravel 5.1 名称路由错误

Laravel 5.1 name routes error

我有一些不明白的地方需要你的帮助。

我正在学习 Laravel 通过此页面中的一些教程(西班牙语,我的语言):https://styde.net/proyectos/

首先,我毫无问题地完成了 Curso básico de Laravel 5 (link to tutorial)。 但是现在,我在做 Curso de Laravel 5.1 (link to tutorial) 我发现了一个问题。

在第一部分的第三点,展示了如何 Laravel 添加路由到 routes.php.

我有这个 url(从 Laravel 文档复制)并且工作正常:

Route::get('auth/login', 'Auth\AuthController@postLogin');

但是老师展示了如何做出改变。 他删除了 'auth/',作为新代码:

Route::post('login', 'Auth\AuthController@postLogin');

之后,他展示了如何使用 'names' 并进行了其他更改:

Route::get('login', [
'uses'  => 'Auth\AuthController@getLogin',
'as'    => 'login'
]);

他进入状态,改​​变动作

{{ route('login') }}

最后他点击了按钮(表单用于登录,只有电子邮件和密码)。

响应显示错误:电子邮件和密码为空。没关系。

但是我有一个重要的错误:

MethodNotAllowedHttpException in RouteCollection.php line 201:

有人可以帮忙吗? 比你!!

你有Route::get,但我认为应该是Route::post

MethodNotAllowedHttpException 表示您发出了错误类型的请求(例如,尝试将 POST 设为 GET 路由)

我想你需要两条路线:

Route::get('login', array(
   'uses'  => 'Auth\AuthController@getLogin',
   'as'    => 'getLogin'
));

Route::post('login', array(
   'uses'  => 'Auth\AuthController@postLogin',
   'as'    => 'postLogin'
));

要转到登录页面使用 URL::route('getLogin') 并在表单操作中使用 URL::route('postLogin'); 并确保你在 Auth\AuthController 中有这 2 个方法! getLogin 执行return 的视图,postLogin post 登录过程的数据!