Laravel路线未定义

时间:2014-12-01 15:02:45

标签: php forms laravel-4 laravel-routing

我正在尝试与Laravel发送联系表格 所以在我的联系表格顶部我有这个

{{ Form::open(['action' => 'contact', 'name'=>"sentMessage", 'id'=>"contactForm"])}}

我有像这样的联系页面的路线

Route::get('/contact', 'PagesController@contact');
Route::post('/contact','EmailController@test');

在我的EmailController文件中,我有类似的东西

public function test()
{
    return View::make('thanks-for-contact');
}

每当我打开我的联系页面时,都会收到此错误消息

Route [contact] not defined

2 个答案:

答案 0 :(得分:3)

当您使用属性操作时,您在控制器中为它提供了一个方法,如下所示:

// an example from Laravel's manual
Form::open(array('action' => 'Controller@method'))

使用命名路由可能是更好的解决方案,如果您想更改网址,这将为您节省大量时间。

Route::get('/contact', array('as' => 'contact.index', 'uses' => 'PagesController@contact'));
Route::post('/contact', array('as' => 'contact.send', 'uses' => 'EmailController@test'));

那么你的表格看起来像这样:

{{ Form::open(array('route' => 'contact.send', 'name'=>"sentMessage", 'id'=>"contactForm")) }}

答案 1 :(得分:0)

您正在使用' action'在你的开始标签中,所以它试图通过该名称转到控制器。尝试使用' url' => '接触'