ActiveResource에서 Rails 3.2.3을 사용하고 있습니다. 내가 생산에 문제가 말한다 : 초기화되지 않은 상수 ActiveResource :: ResourceNotFound
ActiveResource::ResourceNotFound: Failed. Response code = 404. Response message = Not Found.
그래서 나는 그것을 내가
ActiveRecord::RecordNotFound
치료 같은 방법으로 치료하는 시도 :
class ApplicationController < ActionController::Base
protect_from_forgery
rescue_from ActiveRecord::RecordNotFound do |e|
render_404
end
rescue_from ActiveResource::ResourceNotFound do |e|
render_404
end
def render_404
respond_to do |type|
type.html { render template: 'shared/404_not_found', layout: 'application', status: '404 Not Found' }
type.all { render nothing: true, status: '404 Not Found' }
end
end
end
을하지만 배포 할 때 지금, 내가 말해 오류가 그 :
/apps/com.example/shared/bundle/ruby/1.9.1/gems/activeadmin-0.4.3/lib/active_admin/namespace.rb:191:in `eval': uninitialized constant ActiveResource::ResourceNotFound (NameError)
나는 정말로 그것을 얻지 않는다. if defined?(ActiveResource::ResourceNotFound)
으로 시도했지만 이전 동작으로 돌아갑니다.
이 문제를 해결하는 방법에 대한 아이디어가 있으십니까?
감사합니다.
편집 : 잠시 동안 나는 다음 코드를 사용했지만 실제로는 만족스럽지 않습니다. 그것은 시작 (I 가정 할 때, ActiveResource는 'hasn에 그것을 평가하지 않도록
rescue_from "ActiveResource::ResourceNotFound" do |e|
render_404
end
따옴표에서 예외를 넣어 :
rescue_from Exception do |e|
e.is_a?(ActiveResource::ResourceNotFound) ? render_404 : raise
end
사용중인 레일 버전은 무엇입니까? 이 클래스는 Rails 3에는 존재하지 않습니다. –
예 : https://github.com/rails/rails/blob/45d6cd94b3ef2ec77166def41f29188445b35608/activeresource/lib/active_resource/exceptions.rb#L61 – Happynoff
발행물. 또한'rescue_from ActiveResource :: ResourceNotFound'를 사용하고 같은 오류가 발생합니다. 해결책을 제안 했습니까? 아니면 여전히 글로벌 해상에서 예외 해킹을 사용하고 있습니까? : \ – nzifnab