Вызывать именованные маршруты в CakePHP так же, как в Ruby on Rails - PullRequest
3 голосов
/ 27 марта 2010

Как я могу назвать маршрут (в представлении) в CakePHP так же, как в Rails?

Ruby on Rails

routes.rb

map.my_route '/my-route', :controller => 'my_controller', :action => 'index'

вид

link_to 'My Route Name', my_route_path

CakePHP

routes.php

Router::connect('/my-route', array('controller' => 'my_controller', 'action' => 'index'));

вид

$html->link('My Route Name', '/my-route');

Я думаю, что путь Rails лучше, потому что я могу вносить изменения в "url", и мне не нужно изменять код всех представлений.

1 Ответ

3 голосов
/ 27 марта 2010

Использовать версию массива в представлении. CakePHP выполняет обратную маршрутизацию, чтобы определить используемую строковую ссылку, т.е. «/ my-route», из массива controller / action / params в массиве.

$html->link('My Route Name', array('controller' => 'my_controller', 'action' => 'index'));

Также проверьте это от Марк Гандольфо

...