【发布时间】:2018-09-12 09:56:00
【问题描述】:
使用 Laravel 5.2,刀片中有 两个表单,它们必须从根目录提交(POST)到两个操作(/) 。
这里是 app/Http/routes.php
..
Route::auth();
// Mails
Route::get('/contact', ['uses' => 'PageController@getContact', 'as' => 'contact']);
Route::post('/contact', ['uses' => 'PageController@postContact', 'as' => 'pages.postContact']);
Route::post('/', ['uses' => 'PageController@postGuestRegistration', 'as' => 'pages.postGuestRegistration']);
Route::post('/', ['uses' => 'PageController@postOnlineEnquiry', 'as' => 'pages.postOnlineEnquiry']);
...
/contact和其他get、post和resource路由运行良好。
只考虑两个往返于根 (/) 的 POST 路由,这里列出了路由,但仅针对列表中的最后一个。
即,pages.postOnlineEnquiry 仅限。
否则pages.postGuestRegistration仅当我对列表进行排序并在pages.postOnlineEnquiry之后取pages.postGuestRegistration。
我有一个路由组:
Route::group(['prefix' => 'pages'], function () {
...
...
// only GET|HEAD routes come under /pages are listed here
...
...
});
有解决办法吗?
即使我从根路径对这些 POST 路由进行分组,我也看不到任何可能的方法。
现在我找不到将两个表单发布到相同路径和不同操作的方法。
错误显示:
路线 [pages.postGuestRegistration] 未定义。
或
路线 [pages.postOnlineEnquiry] 未定义。
【问题讨论】:
-
也分享您的表格?
-
你不能有两个路径和方法相同的路由,服务器没有办法知道使用哪一个。考虑改变路径或方法。
-
@C2486 我想你猜到了:表单操作是
{{route('pages.postOnlineEnquiry')}}和{{route('pages.postGuestRegistration')}},记住根本原因来自路由。 tnx) -
@NigelRen 好的,这可能是不可能的。现在您清楚地看到了摆在您面前的问题。考虑更改路径或方法,您能否发布答案?我认为这在这种情况下不起作用。我应该考虑另一个控制器还是放弃整个需求?
-
也许 C2486 发布的答案可以解决问题。
标签: php forms laravel laravel-5 routes