【发布时间】:2019-05-02 02:55:10
【问题描述】:
我的路线文件(网络)中有这 2 条路线
Route::get('management/special-fees/add/{userId}', 'Management\SpecialFeeController@create')->name('management/special-fees/add');
Route::post('management/special-fees/add', 'Management\SpecialFeeController@store')->name('management/special-fees/add');
它们都具有相同的名称,但一个是 GET,另一个是 POST,到目前为止一切都很好。但是现在我想在我的视图中创建一个 url 来打开表单,为此我使用了这样的方法 route()
route('management/special-fees/add',$user->id )
但是当我试图去这个网址时,我得到了这条路线
.../management/special-fees/add?5
有一个问号而不是“/”所以路由是无效的。
我做了一些测试,我发现这是因为如果我像这样在 web 文件中更改 POST 路由的 url,我会尝试转到 POST 路由而不是 GET 路由
Route::get('management/special-fees/add/{userId}', 'Management\SpecialFeeController@create')->name('management/special-fees/add');
Route::post('management/special-fees/addSSSS', 'Management\SpecialFeeController@store')->name('management/special-fees/add');
事实上我会得到这个网址
.../management/special-fees/addSSSS?5
那么为什么 route() 方法会通过 GET 方法为 POST 路由生成 url?怎样才能先选择GET路由?
【问题讨论】:
-
代替 .../management/special-fees/add?5 使用 .../management/special-fees/add/5