Перенаправление всех запросов страниц на домашнюю страницу в Rails - PullRequest
3 голосов
/ 28 мая 2010

У меня есть простое приложение Rails, работающее в качестве заставки для веб-сайта, который проходит переход на новый сервер. Поскольку это установленный веб-сайт, я вижу, что пользовательские запросы попадают на страницы, которых нет в приложении Rails.

Как я могу перенаправить все неизвестные запросы на домашнюю страницу вместо выдачи ошибки маршрутизации?

Ответы [ 2 ]

5 голосов
/ 28 мая 2010

Я просто использовал маршрутизацию для достижения этой цели:

map.connect "/*other", :controller => "pages", :action => "index"

Обратите внимание на то, что этот маршрут должен находиться в конце route.rb, чтобы все другие маршруты соответствовали ему.

0 голосов
/ 28 мая 2010

Вы можете использовать следующие способы обработки ошибок в общем месте. Поместите этот код в свой ApplicationController

  def rescue_404
    @message = "Page not Found"
    render :template => "shared/error", :layout => "standard", :status => "404"
  end

  def rescue_action_in_public(exception)
    case exception
      when CustomNotFoundError, ::ActionController::UnknownAction then
        #render_with_layout "shared/error404", 404, "standard"
        render :template => "shared/error404", :layout => "standard", :status => "404"
      else
        @message = exception
        render :template => "shared/error", :layout => "standard", :status => "500"
    end
  end

Измените его в соответствии со своими потребностями, вы также можете иметь перенаправления.

НТН

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