Rails exception_handler gem不更新404页面

时间:2017-09-30 16:33:08

标签: ruby-on-rails ruby exceptionhandler

我使用exception_handler gem制作自定义404页面。当我转到我网站上的404页面时,它显示未找到,但如何自定义此页面?我尝试更改路由,make errors_controller和not_found视图。

application.rb中

config.exceptions_app = self.routes

的routes.rb

  get "/404", :to => "errors#not_found"
  get "/422", :to => "errors#unacceptable"
  get "/500", :to => "errors#internal_error"

errors_controller.rb

class ErrorsController < ApplicationController

  def not_found
    render :status => 404   end

  def unacceptable
    render :status => 422   end

  def internal_error
    render :status => 500   end

end

应用/视图/错误/ not_found.html.erb

<label> TEST 404 Label </label>

2 个答案:

答案 0 :(得分:1)

您很可能已正确配置这些页面并且代码可以正常工作,但不适用于您正在使用的环境。在目录config/environments中您应该有三个文件:development, test, production。当您在开发中工作时,它不会渲染您已创建的页面,因为它违反了Rails错误。您应该检查config/environments/development.rb并查看您设置的config.consider_all_requests_local。您可以将其更改为false,重置路由器并能够查看错误页面,然后在继续进一步开发时将其交换回true。请注意,您使用的实现看起来像是exception_handler gem的替代方案,并且会处理错误而不是该gem。

您可以在Rails指南中找到更多信息:http://guides.rubyonrails.org/configuring.html#rails-general-configuration

答案 1 :(得分:1)

我忘了运行rails g exception_handler:views这会在我的项目文件中生成所有视图,现在我可以根据自己的喜好自定义它们。