新手问题 不知为什么总是收到 format 为 NULL 的请求

hungyuhei · 2013年04月06日 · 最后由 edokeh 回复于 2013年04月07日 · 3759 次阅读

像这样:

ActionView::MissingTemplate (Missing template pages/error with {:locale=>[:"zh-CN"], :formats=>["NULL"], :handlers=>[:erb, :builder, :haml]}.

为什么会是 NULL,是爬虫吗?大家有没有遇过,有什么处理方法?

我们遇到过,应该就是爬虫, 我的处理方法是在 application_controller 中加了一个 filter 凡是 format 为 NULL 的请求都 rander :text => 'NULL' 不过我自己也觉得这不是什么好办法,同求解。

@zzhattzzh 这是一个异常不应该暴露给请求者,我的解决办法,放到 application.rb 里

if Rails.env.production?
  rescue_from ActionView::MissingTemplate do |exception|
    head :not_acceptable
  end
end

https://github.com/jasl/a_rails_start_up_omakase/blob/master/app/controllers/application_controller.rb

#4 楼 @quakewang 这个方案我太喜欢了!

@quakewang 这个做法太猛了,给力啊

#4 楼 @quakewang 牛..收藏先...

@quakewang 太牛了。。。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号