Как перенаправить, когда ActionNotFound в Rails - PullRequest
0 голосов
/ 02 октября 2011

У меня есть контроллер SubscriptionsController только с действиями new и create.Как мне перенаправить на new, если, скажем, кто-то пытается посетить GET /subscriptions, что обычно вызывает действие index?

config / rout.rb

resource :subscriptions, :only => [:new, :create]

1 Ответ

2 голосов
/ 02 октября 2011

Используя rails3, вы можете сделать это по маршруту, что-то вроде:

match "/subscriptions", :to => redirect("/subscriptions/new")

Edit:

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

match "/subscriptions/*other", :to => redirect("/subscriptions/new")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...