我已创建路线
Route::get('/files/{file}/edit', 'FilesController@edit')->middleware(['file_owner'])->name('files.edit');
来自中间件的代码:
$file = $request->route('file');
if($file->owner_id === auth()->user()->id){
return $next($request);
}
当我从视图中输入此路线时>
<form action="{{route('files.edit', $file->id)}}" > <button type="submit" class="btn btn-success btn-sm">Edit file</button> </form>
我得到的链接看起来像这样:
http://testproject.local/files/17/edit?
它不影响功能,但是对我来说真的很有趣,问号出现在这里的原因是什么?
我已经创建了路由Route :: get('/ files / {file} / edit','FilesController @ edit')->中间件(['file_owner'])->名称('files.edit');来自中间件的代码:$ file = $ request-> route('file'); ...
?
表示查询参数的开头。
因为表单的方法是GET
,这意味着表单数据将作为query string附加到操作中。但是由于您没有任何形式的输入,因此仅附加一个?
。
<form>
的默认方法是GET,这意味着通过url传递值,其作用类似于