DELETE上具有多个csrf_field()的记录表

时间:2016-12-08 19:33:51

标签: php laravel laravel-5 laravel-5.2

我一直在学习laravel,但我有一些问题,大多数在线课程教我们大部分时间与数据库中记录列表中的Delete方法中的主题相同,基本上是将表格包装在删除按钮,然后在{{csrf_field()}}内部,我发现的唯一问题是,如果我循环所有记录,它将有多个表单{{csrf_field()}}它不觉得非常优雅。是否有其他方法可以删除记录而不会变得如此肮脏?

1 个答案:

答案 0 :(得分:1)

例如,您可以创建一个通用DELETE表单,使用jQuery动态设置记录ID。

<强>表格

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

虽然您当前的方法没有任何问题,但这可能会为您指出优化代码的正确方向。

另一个解决方案是AJAX,当你甚至不需要物理表格时,你可以建立一个请求。