为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
婷婷同学_ 2021-11-05 10:36:49
我一直在向命名路由传递附加参数。我在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>
查看完整描述

3 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

data-method="DELETE"不会神奇地使您的链接执行DELETE请求。锚标签只能发送GET请求。

您必须创建一个GET可以与锚标记一起使用的路由,或者创建一个可以被欺骗以发送DELETE请求的表单。


查看完整回答
反对 回复 2021-11-05
?
莫回无

TA贡献1865条经验 获得超7个赞

我已经在我的系统中进行了测试,并且有效。


这是我的工作代码


<td>

  <form method="post" id="delete-form-{{ $post->id }}" action="{{ route('post.destroy', $post->id) }}" style="display: none;"> @csrf @method('DELETE') </form>

  <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(); }">

    <span class="fa fa-trash"></span>

  </a>

</td>

我希望这对你有帮助


查看完整回答
反对 回复 2021-11-05
?
慕森王

TA贡献1777条经验 获得超3个赞

根据您提到的路线,需要创建带有删除请求的表单。


喜欢。


<td data-label="Destroy:">

{{ Form::open(['route' => ['asset.delete', $row->id, $key], 'method' => 'delete']) }}

<button type="submit">Destroy</button>

{{ Form::close() }}

</td>


查看完整回答
反对 回复 2021-11-05
  • 3 回答
  • 0 关注
  • 114 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信