所以在 routing.yml 我定义了以下路由以编辑和删除特定设置:
路由.yml:
settings.editDefaults:
path: settings/{id}/defaults/edit/{widgetType}
defaults: { _controller: AppBundle:Settings:editDefaults }
methods: [POST, PUT]
settings.deleteDefaults:
path: settings/{id}/defaults/delete/{widgetType}
defaults: { _controller: AppBundle:Settings:deleteDefaults }
methods: [DELETE]
在我的控制器中,我定义了正确的操作: SettingController.php:
/**
* edit the default settings of a hotel/widget
*/
public function editDefaultsAction(Request $request)
{
//Edit logic
}
/**
* delete a default setting of a hotel/widget
*/
public function deleteDefaultsAction($hotelId, $widgetType)
{
//Delete logic
}
在第二个动作中,我只需要id
andwidgetType
传递,这样我就可以查询和删除选定的记录。
当我去任何一条路线时,我都会得到以下信息:
编辑路线错误:
找不到“GET /settings/2b2acd55-0dd6-11e5-8107-621ae3320fd4/defaults/edit/default”的路由:不允许方法(允许:POST、PUT)
删除路线错误:
未找到“GET /settings/2b2acd55-0dd6-11e5-8107-621ae3320fd4/defaults/delete/default”的路由:不允许方法(允许:删除)
但是当我删除一个并留下另一个时,它们工作正常。我假设它的路径定义是相似的?我是否可以保持相同的路径而不出现此错误?我不明白什么?
谢谢你的帮助,安思