【问题标题】:How do i get my resource controller to fire the destroy _method?如何让我的资源控制器触发 destroy _method?
【发布时间】:2015-07-07 02:21:35
【问题描述】:

我的 laravel5 资源控制器有问题。 POST 方法工作正常,但 delete 方法却不行。正如您从邮递员那里看到的那样,我将 DELETE _method 传递给正确的路线

与此同时,我使用的直接路线也运行良好。

Route::delete('customisemymeal', ['as'=>'customisemymeal', 'uses'=>'UserMealCustomController@destroy']);
Route::post('customisemymeal', ['as'=>'customisemymeal', 'uses'=>'UserMealCustomController@store']);

在解决此问题之前,我已禁用 CSRF 令牌检查。

您能否帮助解释为什么资源控制器与route::delete 相比,相同的方法不同?

路线:列表

  | DELETE                         | customisemymeal/{customisemymeal}                                       | customisemymeal.destroy            | App\Http\Controllers\UserMealCustomController@destroy         |

     | DELETE                         | customisemymeal                                       | customisemymeal           | App\Http\Controllers\UserMealCustomController@destroy         |

【问题讨论】:

  • 我已放弃使用该资源。我相信使用路由模型绑定将是最好的方法。

标签: php laravel-5


【解决方案1】:

使用路线:

Route::resource('customisemymeal', ['as'=>'customisemymeal', 'uses'=>'UserMealCustomController']);

您必须遵守一些规则。要删除您需要使用的内容:

domain.com/customisemymeal/resource_id

从您的屏幕截图中,您尝试使用不同的 URI 删除资源。

domain.com/customisemymeal

那行不通。

规则是:

Index:
GET -> domain.com/resource

Show:
GET -> domain.com/resource/resource_id

create:
GET -> domain.com/resource/create

edit:
GET -> domain.com/resource/resource_id/edit

update:
PATCH / UPDATE -> domain.com/resource/resource_id

store:
POST -> domain.com/resource

delete:
DELETE -> domain.com/resource/resource_id

【讨论】:

    猜你喜欢
    • 2020-12-09
    • 2016-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多