rails: отображение удобного сообщения об ошибке маршрутизации в rails - PullRequest
1 голос
/ 06 июня 2009

Я работаю в рельсах 2.3 на Mac OSX Leopard. каждый раз, когда я набираю URL, который не существует в приложении rails, я получаю следующую ошибку

Routing Error

No route matches "/whatever_i_typed" with {:method=>:get}

это находка для разработки, но мне было интересно, как я могу убедиться, что пользователи увидят более дружественные ой! страница не найдена. я думал о создании блока спасения "начало ...", но я не знал, где его поставить, не знал ли я код ошибки (т.е. ActiveRecord :: RecordNotFound)

спасибо! Юваль

Ответы [ 3 ]

2 голосов
/ 06 июня 2009

Эта ошибка никогда не появится в производстве. Вместо этого пользователи увидят общедоступную страницу / 404.html.

Чтобы попробовать это на своем локальном хосте, переведите пассажир / дворнягу в рабочий режим. Переопределите метод local_request? на вашем ApplicationController следующим образом:

class ApplicationController
  def local_request?
    false
  end
end

Если вы хотите поэкспериментировать с динамическим поведением, вы можете проверить метод класса rescue_from в ActionController.

0 голосов
/ 14 декабря 2010

Я нашел следующий URL-адрес полезным для пользователей Rails 3.0 ..

http://techoctave.com/c7/posts/36-rails-3-0-rescue-from-routing-error-solution

0 голосов
/ 06 июня 2009

Как насчет

map.connect '*url', :controller => "not_found"

как последняя routes.rb запись? Я думаю, что это должно сработать, не так ли?

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