Ruby on Rails, как заставить контроллер отображать разные страницы без перенаправления? - PullRequest
2 голосов
/ 07 сентября 2010

Допустим, у нас есть следующие страницы клип / показать / 111 Изображение / показать / 222 звук / шоу / 333 где 111,222 и 333 - идентификаторы для разных вкладов

Я разработал новый контроллер под названием «show», который будет определять идентификатор и перенаправлять на нужный контроллер. show / show / 111 перенаправит на клип / show / 111 и т. д.

я хочу визуализировать клип страницы / шоу / 111 без перенаправления, что означает, что URL-адрес в браузере будет по-прежнему отображать «show / show / 111», но фактически отображать «clip / show / 111»

Как я мог это сделать?

Спасибо всем Ваэль

Ответы [ 2 ]

3 голосов
/ 07 сентября 2010
0 голосов
/ 07 сентября 2010

Похоже, что вы на самом деле пытаетесь создать псевдонимы для некоторых своих маршрутов, чтобы вы могли получить доступ к одной и той же функциональности из разных структур URL.В этом случае создание всего контроллера, который делегирует всю свою работу другому контроллеру, будет пахнуть кодом (зависть к особенностям).

Что вы, вероятно, хотите сделать, это определить некоторые дополнительные маршруты для "show /«Это просто повторно использовать тот же контроллер клипов.Это можно сделать, просто выполнив следующее:

# routes.rb
# ...
# For Rails 2
map.resources "show", :controller => "clip"

# For Rails 3
resources "show", :controller => "clip"
...