В моем приложении CakePHP я подключил следующий маршрут:
Router::connect('/:city/dealer/:id',
array('controller' => 'dealers', 'action' => 'view'),
array(
'pass' => array('city', 'id'),
'city' => '[a-z]+',
'id' => '[0-9]+'
)
);
Это прекрасно работает и позволяет: domain.com/washington/dealer/1
Но как создать правильную HTML-ссылку в представлении для этого URL-адреса? Если я просто сделаю это:
echo $this->Html->link(
'Testlink',
array('washington', 'controller' => 'dealers', 'action' => 'view', 1)
);
Он добавляет все параметры в конец сгенерированной ссылки:
http://domain.com/dealers/view/washington/1
Как мне это сделать правильно?
$this->Html->link(Link, '/washington/dealers/'.$id.'');
Кажется, это действительно плохая практика, поскольку все это перестает работать, если я меняю маршруты. Я был бы рад, если бы кто-то знал лучший способ. - person Sebastian   schedule 08.10.2012