html-> link не помещает ссылку должным образом в соответствии с маршрутизатором с CakePHP - PullRequest
0 голосов
/ 09 июля 2011

У меня есть этот маршрутизатор:

Router::connect
(
  ':renting/:model_name/:number_name/',
  array('controller' => 'cars', 'action' => 'view'),
  array(
    'pass' => array('renting', 'model_name', 'number_name'),
    'renting' => 'renting'
  )
);

Когда я делаю это в виде

$html->link("NAME",
  array(
    'controller' => 'cars',
    'action' => 'view',
    'renting',
    $model_name,
    $number_name
  )
);

, я получаю эту ссылку на странице: mypage.com/cars/view/renting/mustang/03212xd

и мне нужно получить mypage.com/renting/mustang/03212xd

Я застрял здесь.Спасибо.Примечание: muypage.com/renting/mustang/03212xd перенаправляет права на мою функцию контроллера, но не при использовании функции $html->link.

1 Ответ

1 голос
/ 09 июля 2011

Если вы называете свои параметры, вам нужно назвать ваши параметры:

array(
    'controller'  => 'cars',
    'action'      => 'view',
    'renting'     => 'renting',
    'model_name'  => $model_name,
    'number_name' => $number_name
)

Если :renting всегда 'renting', вам не нужно его параметризовать:

Router::connect('/renting/:model_name/:number_name/',
                array('controller' => 'cars', 'action' => 'view', 'renting'),
                array('pass' => array('model_name', 'number_name')));

$html->link(…, array(
    'controller'  => 'cars',
    'action'      => 'view',
    'renting',
    'model_name'  => $model_name,
    'number_name' => $number_name
));
...