Laravel Routing 2个不同的联系表格转到同一路线

时间:2014-02-04 11:40:17

标签: php forms laravel

我正在使用Laravel构建一个Web应用程序。我有两个联系表格。一个是网站的主要联系表格,另一个是人员页面,USERS可以联系个人资料。

在app / routes.php中我有两条路线

Route::get(Str::slug(trans('main.contactUrl')), array('uses' => 'HomeController@contact', 'as' => 'contact'));
Route::post(Str::slug(trans('main.contactUrl')), array('uses' =>  'HomeController@submitContact', 'as' => 'submit.contact'));

Route::post(Str::slug(trans('people.contactUrl')), array('uses' => 'HomeActController@submitContactAct', 'as' => 'submit.contact'));

由于某些奇怪的原因,如果我使用People联系表单发送消息,那么我转到Main Contact表单发送消息,main.contactUrl将遵循people.contactUrl的路由并启动submitContactAct代码

我知道这种情况正在发生,因为main.contactUrl开始抛出像Undefined变量这样的错误:actemail actemail是我只在submitContactAct()函数中定义的变量。

1 个答案:

答案 0 :(得分:1)

您有两条名称为'submit.contact'的路线

Route::post(Str::slug(trans('main.contactUrl')), array('uses' =>  'HomeController@submitContact', 'as' => 'submit.contact'));
Route::post(Str::slug(trans('people.contactUrl')), array('uses' => 'HomeActController@submitContactAct', 'as' => 'submit.contact'));

 //                                                          -------v
//array('uses' =>  'HomeController@submitContact', 'as' => 'submit.contact'));
 //                                                                -------v
//array('uses' =>  'HomeActController@submitContactAct', 'as' => 'submit.contact'));

更改其中一条路线的名称(例如更改为submit.contact.act)而不是运行composer dump-autoload,现在一切正常。