Symfony 1.4:如何在admin生成器中为路由启用非数字ID?

时间:2010-03-25 13:25:50

标签: php routing symfony1 url-routing symfony-1.4

我的模型建立在非数字ID的基础上(36-char.GNID具体)。

问题在于,当我运行symfony 1.4管理生成器时,它假定我的所有ID都是数字并应用默认路由要求。

我尝试按照此处的建议提供特定的路由要求:http://www.codemassacre.com/2009/04/27/symfony-12-admin-with-custom-primary-key/在我的情况下,来自routing.yml的代码段为:

organization:
  class: sfPropelRouteCollection
  options:
    model:                Organization
    module:               account
    prefix_path:          /account
    column:               id
    with_wildcard_routes: true
  requirements:
    id: \w+

但是,我仍然收到404错误,表明我的路线不匹配。我匹配的URL是“/ account / 8985329a-fd3b-41a0-b27b-f45c80d51765 / edit”。看起来我对给定路线的要求被忽略了。

我可以手动创建我的路线,但我宁愿不这样做。

2 个答案:

答案 0 :(得分:4)

因为\w-字符不匹配。

所以你必须用\w+[\w-]+(更严格的正则表达式)替换[\da-f-]+

答案 1 :(得分:1)

[\w-]+对我不起作用,但是'[\w-]+'做了(symfony 1.4.10)。

我认为symfony / php正在解释[]语法 作为数组规范。