RAILS의 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로 재정의한다
본고는'잘못이 두렵지 않으면 범하지 않는 것이 두렵다'는 블로그에서 나온 것이니, 전재하여 작가에게 연락하세요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Qiita의 API를 부를 때 끝에 슬래시를 붙이면 http://~로 리디렉션되므로 조심합시다.제목대로. curl 결과는 . 예전에 보았던 오류에 근거한 박자를 만났습니다 이것은 메시지처럼 HTTP 통신을 시도할 때 iOS가 차단하는 사람입니다. URLSession 에 건네주고 있는 url는 확실히 https...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.