开发者

Symfony 1.4: how to enable non-numerical IDs for routes in admin generator?

开发者 https://www.devze.com 2022-12-24 20:08 出处:网络
My model is built on non-numerical ID\'s (36-char. GUID to be specific). The problem is that when I run symfony 1.4 admin generator, it assumes that all my IDs are numeric and applies default routing

My model is built on non-numerical ID's (36-char. GUID to be specific).

The problem is that when I run symfony 1.4 admin generator, it assumes that all my IDs are numeric and applies default routing requirements.

I tried providing specific routing requirements as advised here: http://www.codemassacre.com/2009/04/27/symfony-12-admin-with-custom-primary-key/ In my case the snippet from routing.yml is:

organization:
  class: sfPropelRouteCollection
  options:
    model:                Organization
    module:      开发者_运维知识库         account
    prefix_path:          /account
    column:               id
    with_wildcard_routes: true
  requirements:
    id: \w+

However, I am still getting 404 errors indicating that my route wasn't matched. The URL I am matching is "/account/8985329a-fd3b-41a0-b27b-f45c80d51765/edit". It looks like my requirement for the given route is being ignored.

I could create my routes manually but I'd rather not.


Because \w doesn't match - character.

So you have to replace \w+ with, say, [\w-]+ or [\da-f-]+ (more strict regexp)


[\w-]+ did not work for me, but '[\w-]+' did (symfony 1.4.10).

I think symfony/php was interpreting the [] syntax as an array specification.

0

精彩评论

暂无评论...
验证码 换一张
取 消