symfony 路由没有响应
symfony route gives no response
如前所述,我的问题是在 post 方法上调用路由时得到空响应(在 firebug 中查看)。放置 "die('something')" 显示未调用该操作...我不知道在哪里处理请求...
一件重要的事情可能是 我重命名了一个实体 和所有相关的东西(控制器,表单......)它工作正常,除非试图通过我的路线调用 Contact -> createAction :
contact_create:
path: /create
defaults: { _controller: "MainMainBundle:Contact:create" }
requirements: { _method: post|put }
我收到空响应..即使我通过 get 方法调用它,没有错误,空响应...
控制器中的动作:
public 函数 createAction(请求 $request) { ...
我真的不知道是否有什么明显的东西在我面前,我没有看到它,或者它可能是一种路由缓存,搞乱了路由、控制器、实体的重命名...
如果有人有想法,我将非常感谢!
问候
编辑:
contact.yml :
contact:
path: /{companyId}
defaults: { _controller: "MainMainBundle:Contact:index" }
contact_show:
path: /{id}/show
defaults: { _controller: "MainMainBundle:Contact:show" }
contact_new:
path: /new/{companyId}
defaults: { _controller: "MainMainBundle:Contact:new" }
contact_create:
path: /create
defaults: { _controller: "MainMainBundle:Contact:create" }
requirements: { _method: post|put }
contact_edit:
path: /{id}/edit
defaults: { _controller: "MainMainBundle:Contact:edit" }
contact_update:
path: /{id}/update
defaults: { _controller: "MainMainBundle:Contact:update" }
requirements: { _method: post|put }
contact_delete:
path: /{id}/delete
defaults: { _controller: "MainMainBundle:Contact:delete" }
requirements: { _method: post}
contact_revive:
path: /{id}/revive
defaults: { _controller: "MainMainBundle:Contact:revive" }
requirements: { _method: post}
$ php app/console router:debug | grep contact
deal_ajax_load_new_form ANY ANY ANY /deal/dealajaxloadnewform/{contactId}
contact ANY ANY ANY /contact/{companyId}
contact_show ANY ANY ANY /contact/{id}/show
contact_new ANY ANY ANY /contact/new/{companyId}
contact_create POST|PUT ANY ANY /contact/create
contact_edit ANY ANY ANY /contact/{id}/edit
contact_update POST|PUT ANY ANY /contact/{id}/update
contact_delete POST ANY ANY /contact/{id}/delete
contact_revive POST ANY ANY /contact/{id}/revive
你在使用 jsrouting-bundle (friendsofsymfony) 吗?如果是这样,请尝试 运行 以下命令
app/console fos:js-routing:dump
尝试将 'contact_create' 路由放在 contact.yml 之上,我想该文件 'contact' 上的第一个路由与“/create”路径匹配(companyId = create)并执行"MainMainBundle:Contact:index" 控制器而不是 "MainMainBundle:Contact:create" 一个。
检查您使用的端口是否正确。在我的例子中端口是 8080 但我使用的是 8000
如前所述,我的问题是在 post 方法上调用路由时得到空响应(在 firebug 中查看)。放置 "die('something')" 显示未调用该操作...我不知道在哪里处理请求... 一件重要的事情可能是 我重命名了一个实体 和所有相关的东西(控制器,表单......)它工作正常,除非试图通过我的路线调用 Contact -> createAction :
contact_create:
path: /create
defaults: { _controller: "MainMainBundle:Contact:create" }
requirements: { _method: post|put }
我收到空响应..即使我通过 get 方法调用它,没有错误,空响应...
控制器中的动作:
public 函数 createAction(请求 $request) { ...
我真的不知道是否有什么明显的东西在我面前,我没有看到它,或者它可能是一种路由缓存,搞乱了路由、控制器、实体的重命名...
如果有人有想法,我将非常感谢!
问候
编辑: contact.yml :
contact:
path: /{companyId}
defaults: { _controller: "MainMainBundle:Contact:index" }
contact_show:
path: /{id}/show
defaults: { _controller: "MainMainBundle:Contact:show" }
contact_new:
path: /new/{companyId}
defaults: { _controller: "MainMainBundle:Contact:new" }
contact_create:
path: /create
defaults: { _controller: "MainMainBundle:Contact:create" }
requirements: { _method: post|put }
contact_edit:
path: /{id}/edit
defaults: { _controller: "MainMainBundle:Contact:edit" }
contact_update:
path: /{id}/update
defaults: { _controller: "MainMainBundle:Contact:update" }
requirements: { _method: post|put }
contact_delete:
path: /{id}/delete
defaults: { _controller: "MainMainBundle:Contact:delete" }
requirements: { _method: post}
contact_revive:
path: /{id}/revive
defaults: { _controller: "MainMainBundle:Contact:revive" }
requirements: { _method: post}
$ php app/console router:debug | grep contact
deal_ajax_load_new_form ANY ANY ANY /deal/dealajaxloadnewform/{contactId}
contact ANY ANY ANY /contact/{companyId}
contact_show ANY ANY ANY /contact/{id}/show
contact_new ANY ANY ANY /contact/new/{companyId}
contact_create POST|PUT ANY ANY /contact/create
contact_edit ANY ANY ANY /contact/{id}/edit
contact_update POST|PUT ANY ANY /contact/{id}/update
contact_delete POST ANY ANY /contact/{id}/delete
contact_revive POST ANY ANY /contact/{id}/revive
你在使用 jsrouting-bundle (friendsofsymfony) 吗?如果是这样,请尝试 运行 以下命令
app/console fos:js-routing:dump
尝试将 'contact_create' 路由放在 contact.yml 之上,我想该文件 'contact' 上的第一个路由与“/create”路径匹配(companyId = create)并执行"MainMainBundle:Contact:index" 控制器而不是 "MainMainBundle:Contact:create" 一个。
检查您使用的端口是否正确。在我的例子中端口是 8080 但我使用的是 8000