我尝试使用Laravel和Blade创建一个"创建用户" -form。
我的表格如下:
{{ Form::open(['route' => 'create_user']) }}
<table>
<tr>
<td>
{{ Form::label('email', 'Email:') }}
</td>
<td>
{{ Form::email('email') }}
</td>
</tr>
<tr>
<td>
{{ Form::label('password', 'Password:') }}
</td>
<td>
{{ Form::password('password') }}
</td>
</tr>
<tr>
<td colspan="2">
{{ Form::submit('Submit') }}
</td>
</tr>
</table>
{{ Form::close() }}
&#39; create_user&#39; name指的是以下路径:
Route::post('user/new', array('as' => 'create_user', 'uses' => 'LoginController@store'));
我有一个名为&#39; LoginController.php&#39;的.php文件。功能:
public function store()
{
if (Auth::attempt(Input::only('email', 'password'))) {
return Auth::user();
}
return "Failed.";
}
我的路由表如下所示:
但是当我提交包含有效数据的表单时,我收到错误消息:
我已经尝试过运行&#34; php artisan dump-autoload&#34;,但它并没有改变任何东西。
编辑:根据请求添加完整的LoginController.php。 (原谅缺少缩进。)
<?php
namespace app\controllers;
class LoginController extends \BaseController
{
public function create()
{
}
public function store()
{
if (Auth::attempt(Input::only('email', 'password'))) {
return Auth::user();
}
return "Failed.";
}
}
答案 0 :(得分:1)
问题在于您已将控制器放入命名空间(app\controllers
)
您必须将其删除或调整路线:
Route::post('user/new', array(
'as' => 'create_user',
'uses' => 'app\controllers\LoginController@store'
));
答案 1 :(得分:0)
在路线中,我总是使用资源。它为您处理方法。
Route::resource('yourRoute', 'YourController');