RAILS의 404 오류 페이지 만들기

최근에 프로젝트를 하나 했는데 오프라인(www.gkvision.com)을 완성했습니다. 그런데 작업을 끝냈을 때 404 오류를 지정하지 않았습니다. 잘못된 주소를 입력하면 루트 오류가 발생했습니다. 이 순간 자신의 사이트를 엉망으로 만들었습니다. 그래서 이 프로젝트에 오류 404 인터페이스를 추가했습니다.
상황 1
프로젝트의 컨트롤러에 error를 추가하는 방법과 404 페이지를views에 놓았습니다. 자, 이제 루트에 모든 조건이 일치하지 않을 때 조건을 추가합니다. 아래와 같습니다.
match "*a" => "home#error"

이렇게 하면 이 위에 있는 모든 조건이 일치하지 않을 때 이 문장을 실행하여 나의 404 인터페이스로 넘어간다
상황 2
이렇게 하면 경로가 잘못된 상황을 처리할 수 있지만, 예를 들어 우리가 어떤 앨범을 표시하는 경우, 일반적인 경로는 모두
/show?album_id=3 

백그라운드에서 처리하면 id를 찾을 수 없을 때가 있습니다. (만약 당신이 find 방법을 사용한다면) 이 때 Active Record::Record NotFound 오류가 발생합니다. (만약 당신이 find_by_id나 같은 문법을 사용한다면 빈 그룹만 되돌려줍니다.)controller.rb에 이 이상 처리 방법을 추가하면 다음과 같습니다.
rescue_from ActiveRecord::RecordNotFound, :with => :show_error

만약 네가 또 다른 이상을 포착하고 싶다면 여기에 써도 된다
rescue_from ActionView::MissingTemplate,:with => :show_error
rescue_from ActionView::Template::Error,:with => :show_error
rescue_from ActionController::RoutingError, :with => :show_error
rescue_from ActionController::UnknownController, :with => :show_error

상황 3
하지만 프로그램에서 find_를 사용하면by_id 같은 방법, 그는 일반적으로 이 실례를 운용해야만 오류를 발견할 수 있다. 그러면 우리는 이렇게 할 수 있다
begin @album =  @theme.albums.first
  rescue
    redirect_to error_path
  end

이렇게 하면, 이 실례를 사용하여 어떤 보고가 잘못되었을 때, 우리는 그를 404로 재정의한다
본고는'잘못이 두렵지 않으면 범하지 않는 것이 두렵다'는 블로그에서 나온 것이니, 전재하여 작가에게 연락하세요!

좋은 웹페이지 즐겨찾기