【发布时间】:2015-09-06 13:06:57
【问题描述】:
所以在 routing.yml 中我定义了以下路由以编辑和删除特定设置:
routing.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 和widgetType,这样我就可以查询并删除选定的记录。
当我去任何一条路线时,我都会得到以下信息:
编辑路线错误:
没有找到“GET”的路线 /settings/2b2acd55-0dd6-11e5-8107-621ae3320fd4/defaults/edit/default”: 方法不允许(允许:POST、PUT)
删除路线错误:
没有找到“GET”的路线 /settings/2b2acd55-0dd6-11e5-8107-621ae3320fd4/defaults/delete/default”: 方法不允许(允许:DELETE)
但是当我删除一个并留下另一个时,它们工作正常。我假设它的路径定义是相似的?我是否可以保持相同的路径而不出现此错误?我不明白什么?
感谢您的帮助,Anth
【问题讨论】:
标签: php symfony symfony-routing