我遇到了laravel5资源控制器的问题。 POST方法工作正常但删除方法不正常。正如你从邮递员那里看到的,我正在将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 |
答案 0 :(得分: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