我的模型建立在非数字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”。看起来我对给定路线的要求被忽略了。
我可以手动创建我的路线,但我宁愿不这样做。
答案 0 :(得分:4)
因为\w
与-
字符不匹配。
所以你必须用\w+
或[\w-]+
(更严格的正则表达式)替换[\da-f-]+
答案 1 :(得分:1)
[\w-]+
对我不起作用,但是'[\w-]+'
做了(symfony 1.4.10)。
我认为symfony / php正在解释[]
语法
作为数组规范。