我试图删除其中一个控制器上的PUT
方法,但是如果不经过并将每个方法映射到一个函数,我找不到这样做的方法。
我的路线文件中有以下内容:
Route::group(['prefix' => 'api'], function() {
$defaultOptions = ['except' => ['create', 'edit']];
Route::resource('recipies', 'RecipieController', $defaultOptions);
//This is the one that I am trying to restrict
Route::resource('recipies.ingredients', 'Recipie\IngredientController', ['except' => ['create', 'edit', 'show']]);
Route::resource('ingredients', 'IngredientController', $defaultOptions);
});
我知道我可以做以下事情来完成我想要的东西,但我希望有一些选项可以限制允许的方法
Route::get('recipies/{recipie_id}/ingredients', 'Recipie\IngredientController');
Route::patch('recipies/{recipie_id}/ingredients/{ingredient_id}', 'Recipie\IngredientController');
Route::delete('recipies/{recipie_id}/ingredients/{ingredient_id}', 'Recipie\IngredientController');
虽然上述方法有效,但我觉得它很混乱,我希望找到一个更清洁的解决方案。
答案 0 :(得分:0)
PUT 方法映射到资源控制器的更新方法。将此方法添加到排除方法列表中:
Route::resource('recipies.ingredients', 'Recipie\IngredientController', ['except' => ['create', 'edit', 'show', 'update]]);