Недавно я присоединился к миру разработки приложений Rails (Rails3), и я могу злоупотреблять находчивой маршрутизацией.Rails3: Соответствующее использование маршрутизации и ресурсов
Настраиваемая маршрутизация по умолчанию делает некоторые действительно удобные вспомогательные методы для URL-адресов, которые я использую постоянно. Моя проблема в том, что у меня есть контроллеры, которые я задал маршрутизацию как находчивый, просто чтобы воспользоваться этими вспомогательными методами. У меня есть базовая навигация по сайту, которая не имеет никакого отношения к ресурсам.
resource :home do
member do
get 'main'
get 'about'
get 'login'
get 'help'
end
end
Есть ли лучший способ сделать то, что я делаю? Все, что не требует, чтобы я вручную добавлял записи маршрутизации каждый раз, когда у меня есть новое действие контроллера?
Чтобы уточнить, я хочу указать маршрутизацию контроллера без необходимости явно добавлять какие-либо новые действия, но также хочу, чтобы он автоматически генерировал вспомогательные методы. До сих пор я должен явно добавлять маршруты для каждого действия, для которого я хочу. Я могу получить что-то подобное, делая это (в не-находчивый способом),
match 'home/about' => 'home#about'
Но я не хочу, чтобы написать, что очень каждый маршрут, который не попадает в конвенцию.
Может быть, я недопонимание вас, но это звучит так, как будто вы хотите, чтобы он автоматически искать через контроллер для общественности методы и создать для них именованные маршруты. Правильно ли я это читаю? Если это так, похоже, вы просите о волшебстве, которое даже Rails не может предоставить. –
Нет, думаю, у вас все в порядке. Чтобы сделать пример, строка, подобная «match»: controller (/: action) », автоматически обнаруживает действия контроллера и генерирует именованные маршруты. Я все еще понимаю, какие уловки доступны. С другой стороны, я бы не возражал против того, что кто-то рекомендовал лучший подход или дал некоторые примеры того, как они обычно это делают для своих приложений. –