簡體   English   中英

Laravel將多個參數傳遞給命名路由

[英]Laravel pass multiple parameters to named route

我被困在傳遞附加參數到命名路由上。 我已經找到了如何在Laravel文檔上以及在Stack Overflow answer上的答案中做到這一點

我的問題是我無法使用控制器中的刪除功能,當我單擊鏈接時,頁面會刷新,並且不會出現任何錯誤,但不會到達控制器。

我的路線怎么了?

路線:

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

Href:

<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>

data-method="DELETE"不會神奇地使您的鏈接執行DELETE請求。 定位標記只能發送GET請求。

您要么必須創建一個可以與錨標記一起使用的GET路由,要么必須創建一個可以欺騙以發送DELETE請求的表單。

我已經在我的系統中進行了測試,並且可以正常工作。

這是我的喚醒代碼

<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>

我希望這對您有幫助

根據您提到的路由,需要創建帶有刪除請求的表格。

喜歡。

<td data-label="Destroy:">
{{ Form::open(['route' => ['asset.delete', $row->id, $key], 'method' => 'delete']) }}
<button type="submit">Destroy</button>
{{ Form::close() }}
</td>

根據您的信息,您可能需要將錨標記的HREF更改為路由(“ asset / assets_id / Modelname”)。

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

<td data-label="Destroy:"><a href="{{ route('asset/assets_id/Modelname') }}" data-method="DELETE" data-destoy='destroy' name="delete_item">Destroy</a></td>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM