猿问

Laravel 将多个参数传递给命名路由

我一直在向命名路由传递附加参数。我在Laravel doc's以及Stack Overflow answer上找到了如何做到这一点。


我的问题是我无法在控制器中使用我的删除功能,当我单击链接时,页面会刷新并且不会引发任何错误,但无法到达控制器。


我的路线可能有什么问题?


路线:


Route::delete('/assets/{asset}/{model}', 'AssetManagmentController@destroy')->name('asset.delete');

参考:


<td data-label="Destroy:"><a href="{{ route('asset.delete', ['asset' => $row->id, 'model' => $key] ) }}" data-method="DELETE" data-destoy='destroy' name="delete_item">Destroy</a></td>


<td data-label="Destroy:"><a href="{{ route('asset.delete', ['asset' => 'id', 'model' => 'model'] ) }}" data-method="DELETE" data-destoy='destroy' name="delete_item">Destroy</a></td>



婷婷同学_
浏览 118回答 3
3回答

互换的青春

data-method="DELETE"不会神奇地使您的链接执行DELETE请求。锚标签只能发送GET请求。您必须创建一个GET可以与锚标记一起使用的路由,或者创建一个可以被欺骗以发送DELETE请求的表单。

莫回无

我已经在我的系统中进行了测试,并且有效。这是我的工作代码<td>&nbsp; <form method="post" id="delete-form-{{ $post->id }}" action="{{ route('post.destroy', $post->id) }}" style="display: none;"> @csrf @method('DELETE') </form>&nbsp; <a href="javascript: void(0);" onclick="if(confirm('Are you sure, You want to delete this?')) { event.preventDefault(); document.getElementById('delete-form-{{ $post->id }}').submit(); }">&nbsp; &nbsp; <span class="fa fa-trash"></span>&nbsp; </a></td>我希望这对你有帮助

慕森王

根据您提到的路线,需要创建带有删除请求的表单。喜欢。<td data-label="Destroy:">{{ Form::open(['route' => ['asset.delete', $row->id, $key], 'method' => 'delete']) }}<button type="submit">Destroy</button>{{ Form::close() }}</td>
随时随地看视频慕课网APP
我要回答