Ruby on rails Rails自定义错误页面赢得';在Nginx上渲染

Ruby on rails Rails自定义错误页面赢得';在Nginx上渲染,ruby-on-rails,ruby,nginx,Ruby On Rails,Ruby,Nginx,我是Rails和Nginx的新手。我被要求在我们的应用程序中添加自定义错误页面。我在这个网站上找到了这样做的说明,我的自定义错误页面在本地呈现得很好。当我转到url/no\u-so\u页面时,我会看到相应的页面。当我将代码部署到运行nginx的测试服务器并尝试相同的url时,我看到了以下内容: 500内部服务器错误 如果您是此网站的管理员,请阅读此web应用程序的日志文件和/或web服务器的日志文件,以了解出现的问题` 在nginx服务器上,如果我转到url\404,那么我确实看到了我的页面,因

我是Rails和Nginx的新手。我被要求在我们的应用程序中添加自定义错误页面。我在这个网站上找到了这样做的说明,我的自定义错误页面在本地呈现得很好。当我转到url
/no\u-so\u页面时,我会看到相应的页面。当我将代码部署到运行nginx的测试服务器并尝试相同的url时,我看到了以下内容:

500内部服务器错误 如果您是此网站的管理员,请阅读此web应用程序的日志文件和/或web服务器的日志文件,以了解出现的问题`

在nginx服务器上,如果我转到url
\404
,那么我确实看到了我的页面,因此我知道它呈现正常。 我的本地计算机和服务器都在
开发环境下运行

我已将此添加到
config\development.rb

config.consider_all_requests_local = false
config.exceptions_app = self.routes
%w(404 500).each do |code|
    get code, to: "errors#show", :code => code, :via => :all
end
下面是我添加到
routes.rb的内容:

config.consider_all_requests_local = false
config.exceptions_app = self.routes
%w(404 500).each do |code|
    get code, to: "errors#show", :code => code, :via => :all
end
我的控制器如下所示:

class ErrorsController < ApplicationController
    def show
        status_code = params[:code] || 500
        render status_code.to_s
    end
end
类错误控制器
有人知道我的nginx配置中是否需要做一些特殊的事情来实现这一点吗

500内部服务器错误如果您是此网站的管理员,请阅读此web应用程序的日志文件和/或web服务器的日志文件,以了解发生了什么错误

此错误消息来自Rails本身,而不是Nginx

这意味着您的自定义错误页本身正在引发异常,这将导致错误->显示错误页->错误->显示错误页->的无限循环。。。Rails检测到这一点,并在看到错误消息时停止。检查日志中的此字符串以查看错误:

Error during failsafe response:
500内部服务器错误如果您是此网站的管理员,请阅读此web应用程序的日志文件和/或web服务器的日志文件,以了解发生了什么错误

此错误消息来自Rails本身,而不是Nginx

这意味着您的自定义错误页本身正在引发异常,这将导致错误->显示错误页->错误->显示错误页->的无限循环。。。Rails检测到这一点,并在看到错误消息时停止。检查日志中的此字符串以查看错误:

Error during failsafe response:

谢谢你,马特!我想我被它在本地工作而不是在服务器上这一事实所困扰,所以我把责任归咎于nginx。我在
var/log/nginx
中找到了我的错误日志,它将我指向了我忽略的东西。好了,谢谢你,马特!我想我被它在本地工作而不是在服务器上这一事实所困扰,所以我把责任归咎于nginx。我在
var/log/nginx
中找到了我的错误日志,它将我指向了我忽略的东西。一切都准备好了。