我在 Laravel 中的表单出现“路由未定义错误”

Posted

技术标签:

【中文标题】我在 Laravel 中的表单出现“路由未定义错误”【英文标题】:I am getting an "Route not defined error" with my form in Laravel 【发布时间】:2015-01-16 23:31:12 【问题描述】:

我已经设置了这样的表格:

<!--Registration Form-->

     Form::open(array('action' => 'LoginController@try_login', 'class'=>'login_form', 'id'=>'login_reg_form', 'role' => 'form')) 

         Form::label('email', 'Email Address', array('class' => 'email')); 

         Form::text('email', 'example@gmail.com', array('class' => 'form-control')) 

         Form::label('password', 'Password', array('class' => 'password')); 

         Form::password('password', array('class' => 'form-control')) 

         Form::submit('Click Me!'); 

     Form::close() 

    <!--End Form-->

指向登录控制器。

这是控制器代码:

class LoginController extends BaseController 

    /**
     * Instantiate a new LoginController instance.
     */
    public function __construct()
    

    

    /**
     * Try_Login
     */
    public function try_login()
    
        //Do Authentication - Log the user in.

    


一切似乎都很好,但由于某种原因我收到以下错误:

ErrorException (E_UNKNOWN) 
Route [HomeController@try_login] not defined. (View: /Users/Tapha/../login.blade.php)

【问题讨论】:

【参考方案1】:

在您的routes.php 中,您必须定义您的表单可以访问的路由,否则当您提交表单时它永远不知道该做什么。仅仅定义Controller@method 是不够的。

我假设您使用GET 发送表单,否则您会在表单创建代码中提供'method' =&gt; 'post'

Route::get('login', ['uses' => 'HomeController@try_login']);

【讨论】:

以上是关于我在 Laravel 中的表单出现“路由未定义错误”的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 路由未定义错误

从 Laravel 4.2 升级到 5.0 后获取 POST 的路由未定义错误

Laravel 4 - 同一页面上有多个表单?

发送表单的问题-laravel中的路由js

编辑表单刀片 Laravel 中的嵌套循环

Laravel:表单中的 HTTPS::open()