2016-12-08 7 views
0

私はlaravelを学んでいましたが、いくつかの質問があります。ほとんどのオンラインクラスでは、レコードのリストのDeleteメソッドにある主題と同じように、データベースは、基本的に削除ボタンにフォームを記入してから、{{csrf_field()}}を内部に入れています。私が見つけた唯一の問題は、すべてのレコードをループすると、{{csrf_field()}}という複数のフォームがあります。レコードを削除するには別の方法がありますか?DELETEの複数のcsrf_field()を持つテーブルテーブル

+0

なぜあなたに「汚い」と感じるのですか? – Ohgodwhy

答えて

1

たとえば、jQueryを使用してレコードIDを動的に設定する一般的なDELETEフォームを作成できます。何も間違ってませんが

フォーム

<form action="some/action" method="post" id="delete-form"> 
    {{ csrf_field() }} 
    <input type="hidden" name="record_id"> 
</form> 

jQueryの

$('[data-delete-id]').click(function() { 
    var recordId = $(this).data('delete-id'); 
    $('#delete-form').find('[name=record_id]').val(recordId); 
    $('#delete-form').submit(); 
}); 

ボタン

<button data-delete-id="1">Delete record 1</button> 
<button data-delete-id="2">Delete record 2</button> 

現在のアプローチでは、これはコードを最適化する正しい方向に向けるかもしれません。

もう1つの解決策はAJAXです。物理的なフォームを必要としない場合でも、リクエストを作成するだけです。

関連する問題