Маршрут Laravel не определен

0

Я пытаюсь отправить контактную форму с Laravel So в верхней части моей контактной формы. У меня есть это

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

У меня есть маршруты для контактной страницы, как это

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

в моем файле MailController у меня есть что-то вроде этого

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

Когда я открываю свою контактную страницу, я получаю это сообщение об ошибке

Route [contact] not defined
  • 2
    вместо 'action' используйте 'url' => 'contact'
Теги:
forms
laravel-4
laravel-routing

2 ответа

3

когда вы используете действие атрибута, вы предоставляете ему метод в вашем контроллере следующим образом:

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

возможно, лучшее решение для использования названных маршрутов, что сэкономит вам много времени, если вы когда-либо захотите изменить свой URL.

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")) }}
0

Вы используете "действие" в своих вступительных тегах, поэтому пытаетесь перейти к контроллеру с таким именем. Попробуйте использовать 'url' => 'contact'.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню