Как я могу иметь одну карту маршрутов для разных контроллеров - PullRequest
1 голос
/ 10 марта 2011

Мой текущий проект Rails 2 имеет несколько различных ресурсов, каждый из которых должен быть доступен через постоянные ссылки корневого уровня (т. Е. Пользователь доступен через http://domain.com/john, а группа доступна через http://domain.com/thehunters). Я знаю, что в Rails 3 я мог бы использовать условие на маршрутах для правильной маршрутизации постоянных ссылок, однако условия маршрутизации в Rails 2 гораздо более ограничены.

Какой лучший способ заставить меня работать? Лучшее, что я могу придумать, - это иметь PermalinkController, который затем вызывает правильные действия в правильных контроллерах, но это в конечном итоге очень плохо, медленно и хрупко.

Ответы [ 2 ]

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

Это вообще плохая идея. Во всяком случае, эти два URL-адреса должны быть http://domain.com/users/john и http://domain.com/groups/thehunters - на первый взгляд, нет никакой разницы между двумя URL-адресами, которые вы дали. thehunters может быть просто другим именем пользователя. Постарайтесь быть как можно лучше. URL-адреса важны и должны быть легко понятны.

0 голосов
/ 10 марта 2011

Я думаю, что в основном вы предложили то, что нужно сделать, за исключением того, что нет причин перенаправлять на другой контроллер. Ваш контроллер «Постоянная ссылка» должен принять переменную из параметров, интерпретировать эту переменную, чтобы определить, какую модель использовать, и, в свою очередь, решить, какое представление использовать с этой моделью, и визуализировать это представление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...