2016-01-21 73 views
0

我目前正在将我的一个项目从Symfony2更新为Symfony3。大部分工作已经完成,但有一些我不明白的错误。路由:对“方法”的要求必须是字符串

对于路由配置文件,我看这是告诉我写这个配置的官方文档(http://symfony.com/doc/current/book/routing.html#adding-http-method-requirements):

corbins_characters_new_character: 
    path: /characters/new 
    defaults: { _controller: CorbinsCharacterBundle:Character:new } 
    requirements: 
     methods: [GET] 

corbins_characters_new_character: 
    path: /characters 
    defaults: { _controller: CorbinsCharacterBundle:Character:create } 
    requirements: 
     methods: [POST] 

但是,当我这样做,我有以下错误:

Routing requirement for "methods" must be a string in C:\Developpement\Symfony2\Corbins_V3\src\Corbins\CharacterBundle/Resources/config/routing.yml (which is being imported from "C:\Developpement\Symfony2\Corbins_V3\app/config\routing.yml"). 

InvalidArgumentException: Routing requirement for "methods" must be a string. 
- in vendor\symfony\symfony\src\Symfony\Component\Routing\Route.php at line 571 

我打算为Symfony创建一个新问题,但首先我想在这里寻求帮助:D!

有什么想法?

+1

您确定此错误是由该路线触发的吗?这个异常只有在解析'requirements'键时才会被触发(这在你的示例路由中不存在)。 – xabbuh

+0

@xabbuh:我要编辑我的文章,让你看到我的整个文件和整个错误! – Kern

+0

@Federico:是的,我做到了:)! – Kern

回答

3

在Doc中,它表示方法不是需求的孩子,它只是一个父键。

corbins_characters_new_character: 
    path: /characters 
    defaults: { _controller: CorbinsCharacterBundle:Character:create } 
    methods: [POST] 

请您检查http://symfony.com/doc/current/book/routing.html#adding-http-method-requirements与阳明配置。

+0

我多么愚蠢:S!我今晚在家尝试,并验证你的答案:)! – Kern

+0

非常感谢!我相信当我写这个代码XD时,我有点累了! – Kern

+0

不客气:) – FZE

相关问题