Laravel 4 Restful使用资源控制器删除记录 [英] Laravel 4 restful delete a record with a resource controller

查看:70
本文介绍了Laravel 4 Restful使用资源控制器删除记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Laravel框架的新手,但我真的很喜欢. 我最大的问题是我一直在寻找如何使用资源控制器删除单个记录的方法.

I am new to Laravel framework but I really like it. My biggest problem is I have been searching on how I can delete a single record using resource controller.

控制器方法:

public function destroy($id) {
    $department = Department::find($id);
    $department->delete();
}

删除我尝试过的链接:

<a class="btn btn-xs btn-danger" data-method="delete" href="{{ URL::to('department/' . $department->id) }}"><i class="icon-remove"></i></a>

JavaScript:

Javascript:

<script type="text/javascript">
$(function(){
    $('[data-method]').append(function(){
        return "\n" +
        "form action='" + $(this).attr('href') + "' method='post' style='display: none;'>\n" + 
        "<input type='hidden' name='_method' value='"+$(this).attr('data-method')+"'>\n" +
        "</form>\n"
    })
    .removeAttr('href')
    .attr('style', 'cursor: pointer;')
    .attr('onclick', '$(this).find("form").submit();');
});

现在,当我单击删除链接时,它不起作用. 关于我在做什么错的任何想法,我已经搜索了很长时间.

Now when I click on the delete link, it doesn't work. Any idea on what am I doing wrong, I have been searching for so long.

推荐答案

destroy()将在DELETE请求中而不是在POST请求中调用.

The destroy() will be called in DELETE request and not in POST request.

所以尝试,

<a class="btn btn-xs btn-danger" onclick="deleteDepartment($department->id)" href="javascript:void(0)"><i class="icon-remove"></i></a>

在javascript中,

And in javascript,

function deleteDepartment(id) {
  $.ajax({
    url: 'department/'+id,
    type: 'DELETE',
    success: function(result) {
        // Do something with the result
    }
  });
}

这篇关于Laravel 4 Restful使用资源控制器删除记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆