【问题标题】:Laravel 4 how to link to destroy and what is the function nameLaravel 4如何链接到销毁以及函数名称是什么
【发布时间】:2014-08-26 16:03:43
【问题描述】:

我在 admin 目录中有一个控制器,带有以下路由

Route::controller('attachments','AdminAttachmentsController');

现在我想使用 javascript 创建一个删除链接,所以我的 url 看起来像

http://localhost/project_name/public/admin/attachments/delete/1

在我的控制器中,我有正确的以下代码

public function delete($id)
{
    die("i m here");
}

但是当我点击删除链接时,它总是显示“找不到控制器方法”。

请告诉我删除的函数名称是什么以及我调用的网址是什么

谢谢

【问题讨论】:

    标签: laravel laravel-4 laravel-routing


    【解决方案1】:

    您可以通过运行查看您的活动路线:

    php artisan routes

    话虽如此,资源控制器docs 拥有由Route::controller() 生成的所有路径、动作及其路由名称的完整列表

    您还应该注意,通过Route::controller 生成的路由期望控制器方法名称以它们各自的 HTTP 动词为前缀。现在,您的路由器期望对DELETE ...//{} 的请求,因为您的控制器方法只定义了动词而不是路径名。您应该将方法名称更改为deleteDelete($id)

    【讨论】:

    • 我已经运行了该命令并显示了路线,我检查了我发现以下行 DELETE admin/attachments//{one?}/{two?}/{three?}/{four ?}/{五个?} | | AdminAttachmentsController@delete | admin-auth 和 GET|HEAD|POST|PUT|PATCH|DELETE admin/attachments/{_missing} | | AdminAttachmentsController@missingMethod | admin-auth 现在我创建以下函数 function delete() {} 并在 URL localhost/project_name/public/admin/attachments/1 但错误仍然相同
    • @DeepakGoyal 你没有走对路;我用解释更新了答案。
    • 我也使用这个但同样的错误请告诉我应该点击哪个路径,如“localhost/project_name/public/admin/attachments/delete/1”以及我应该在控制器中声明什么函数名称
    • @DeepakGoyal 您需要点击“localhost/project_name/public/admin/attachments//1”或将您的路线名称更改为“deleteDelete”。在任何一种情况下,您都必须确保您发出的是 DELETE 请求而不是 GET。
    • 请告诉我,我用哪个名称创建函数,并在确认后使用 jQuery,我使用 wondow.location.href = URL,然后点击我在问题中提到的 URL,所以请告诉我哪个函数名称 function_name() {} 和 url 以便它工作
    猜你喜欢
    • 2013-11-07
    • 1970-01-01
    • 1970-01-01
    • 2016-08-27
    • 2015-07-29
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    • 2013-08-02
    相关资源
    最近更新 更多