我正在使用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()函数中定义的变量。
答案 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
,现在一切正常。