如何在rails开发环境中测试500.html?

tbk*_*tbk 42 development-environment ruby-on-rails

我想使用开发环境测试我的Rails应用程序中的500个错误页面.

我已经尝试过了config/environments/development.rb:

config.action_controller.consider_all_requests_local = false
Run Code Online (Sandbox Code Playgroud)

但这似乎没有任何影响.

u26*_*622 74

到目前为止,我发现这样做的唯一方法就是进入 development.rb

config.consider_all_requests_local = false

然后使用我的本地IP地址访问URL: http://192.168.1.135:3000/blah

提到的其他设置似乎没有任何影响.

  • 设置config.consider_all_requests_local = false后,不要忘记重新启动服务器. (4认同)
  • 也适用于Rails 4.顺便说一下,它也可以使用127.0.0.1:3000/page_which_does_not_exist或localhost:3000/page_which_does_not_exist (3认同)

Jef*_*ton 25

所有提议的解决方案都不适用于我的Rails 3应用程序.对我来说,快速而肮脏的解决方案是直接点击错误页面以查看呈现的HTML.例如,

http://0.0.0.0:3000/404.html

http://0.0.0.0:3000/500.html
Run Code Online (Sandbox Code Playgroud)


Ste*_*uet 20

只需执行http:// localhost:3000/404或/ 500即可访问这些页面并查看它们的外观.

  • 对于只想测试这些页面设计的人来说,这是最短且最好的答案 (2认同)

Sha*_*ell 12

你可以:

  1. 使用localhost或127.0.0.1以外的地址访问应用程序,rails默认认为是本地请求
  2. 覆盖local_request?application_controller.rb喜欢的东西:
def local_request?
  false
end
Run Code Online (Sandbox Code Playgroud)

第二个将停止rails处理来自localhost和127.0.0.1的请求,因为结合的本地请求consider_all_requests_local = false应显示您的500.html页面.

  • 对于那些来自Google并使用Rails 3的人,请查看下一个答案. (18认同)

Aar*_*son 6

除了设置: config.consider_all_requests_local = false 我还需要设置: config.action_dispatch.show_exceptions = true