Ruby on rails 未初始化的常量ActiveResource::ResourceNotFound
我将Rails3.2.3与ActiveResource一起使用。 我在制作中遇到了一个问题:Ruby on rails 未初始化的常量ActiveResource::ResourceNotFound,ruby-on-rails,Ruby On Rails,我将Rails3.2.3与ActiveResource一起使用。 我在制作中遇到了一个问题: ActiveResource::ResourceNotFound: Failed. Response code = 404. Response message = Not Found. 所以我试着像对待ActiveRecord::RecordNotFound一样对待它: class ApplicationController < ActionController::Base protect_
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
我真的不明白。我尝试了一个(ActiveResource::ResourceNotFound)
,但它又回到了以前的行为
你知道如何处理这个问题吗
谢谢
编辑:目前我使用了以下代码,但我对它并不满意
rescue_from Exception do |e|
e.is_a?(ActiveResource::ResourceNotFound) ? render_404 : raise
end
嘿,忽略我的评论我想出了一个解决办法:
rescue_from "ActiveResource::ResourceNotFound" do |e|
render_404
end
将异常放在引号中,这样它就不会在启动时尝试对其进行评估(我假设ActiveResource尚未加载)您使用的rails版本是什么?这个类在Rails 3中不存在。是的,它存在:我也遇到了这个问题。同时使用ActiveResource::ResourceNotFound中的
rescue\u并获得相同的错误。您是否提出了解决方案,还是仍在使用“例外黑客全球救援”?:\
rescue_from "ActiveResource::ResourceNotFound" do |e|
render_404
end