【发布时间】:2016-10-03 19:38:54
【问题描述】:
我是 Rails 和 Nginx 的新手。我被要求向我们的应用程序添加自定义错误页面。我在这个网站上找到了这样做的说明,我的自定义错误页面在本地渲染得很好。当我转到 url /no_such_page 时,我看到了相应的页面。当我将代码部署到运行 nginx 的测试服务器并尝试相同的 url 时,我看到的是以下内容:
500 内部服务器错误 如果您是本网站的管理员,请阅读此 Web 应用程序的日志文件和/或 Web 服务器的日志文件以找出问题所在。`
在 nginx 服务器上,如果我转到 url \404,那么我确实看到了我的页面,所以我知道它呈现正常。
我的本地机器和服务器都在development环境下运行。
我已将此添加到config\development.rb:
config.consider_all_requests_local = false
config.exceptions_app = self.routes
这是我添加到routes.rb 的内容:
%w(404 500).each do |code|
get code, to: "errors#show", :code => code, :via => :all
end
我的 errors_controller 看起来像这样:
class ErrorsController < ApplicationController
def show
status_code = params[:code] || 500
render status_code.to_s
end
end
有谁知道我是否需要在我的 nginx 配置中做一些特别的事情来完成这项工作?
【问题讨论】:
标签: ruby-on-rails ruby nginx