Symfony 1.4: как включить нечисловые идентификаторы для маршрутов в генераторе администратора? - PullRequest
1 голос
/ 25 марта 2010

Моя модель построена на нечисловых идентификаторах (точнее, на 36 символов. GUID).

Проблема в том, что когда я запускаю генератор администратора symfony 1.4, он предполагает, что все мои идентификаторы являются числовыми, и применяет требования по умолчанию для маршрутизации.

Я попытался указать конкретные требования к маршрутизации, как указано здесь: 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 ]

4 голосов
/ 25 марта 2010

Поскольку \w не соответствует - символу.

Таким образом, вы должны заменить \w+, скажем, [\w-]+ или [\da-f-]+ (более строгое регулярное выражение)

1 голос
/ 29 марта 2011

[\w-]+ не работал для меня, но '[\w-]+' работал (symfony 1.4.10).

Я думаю, что symfony / php интерпретировал синтаксис [] в качестве спецификации массива.

...