从编辑页面

时间:2017-06-10 14:42:45

标签: backpack-for-laravel

您好我正在尝试这样做,所以我可以在编辑页面中有一个删除按钮,只是直接删除正在编辑的任何crud资源,现在我开始看一下列表视图并尝试反向工程jQuery的东西,在列表中创建删除按钮,对于我的生活,我无法弄清楚如何做到这一点。我尝试在delete.blade.php视图中抓取刀片代码,当我单击生成的按钮时,我得到403禁止错误。现在我以为我可以继续搞乱jQuery,但不应该删除按钮代码也可以吗?到目前为止我得出的结论是,我遗漏了一些关于权限的愚蠢明显吗?我们也在运行crud权限包,这会对任何事情产生影响吗?这很奇怪,因为我有按钮 @if ($crud->hasAccess('delete')) 检查东西所以不应该意味着我已经拥有权限?我确定可以删除列表视图中的项目。

对不起,如果我很困惑,我有点累了爸爸,可以帮忙:p

1 个答案:

答案 0 :(得分:1)

您确定要将AJAX呼叫指向正确的方向吗?

list.blade.js javascript指向当前页面,因为它是相同的URL,只是一个不同的协议。如果将它放在另一个页面上,它将不会按原样运行。您必须将其指向$this->crud->route,仍然使用DELETE方法。所以像这样:

  function register_delete_button_action() {
    $("[data-button-type=delete]").unbind('click');
    // CRUD Delete
    // ask for confirmation before deleting an item
    $("[data-button-type=delete]").click(function(e) {
      e.preventDefault();
      var delete_button = $(this);
      var delete_url = '{{ url($this->crud->route) }}'; <---- notice the change here

      if (confirm("{{ trans('backpack::crud.delete_confirm') }}") == true) {
          $.ajax({
              url: delete_url,
              type: 'DELETE',
              success: function(result) {
                  // Show an alert with the result
                  new PNotify({
                      title: "{{ trans('backpack::crud.delete_confirmation_title') }}",
                      text: "{{ trans('backpack::crud.delete_confirmation_message') }}",
                      type: "success"
                  });
                  // delete the row from the table
                  delete_button.parentsUntil('tr').parent().remove();
              },
              error: function(result) {
                  // Show an alert with the result
                  new PNotify({
                      title: "{{ trans('backpack::crud.delete_confirmation_not_title') }}",
                      text: "{{ trans('backpack::crud.delete_confirmation_not_message') }}",
                      type: "warning"
                  });
              }
          });
      } else {
          new PNotify({
              title: "{{ trans('backpack::crud.delete_confirmation_not_deleted_title') }}",
              text: "{{ trans('backpack::crud.delete_confirmation_not_deleted_message') }}",
              type: "info"
          });
      }
    });
  }