Rails: 关闭错误显示

4
当我通过URL访问我的Rails项目中不存在的文章,如/posts/13时,浏览器会显示详细的错误信息:
ActiveRecord::RecordNotFound in PostsController#show

Couldn't find Post with ID=13
Rails.root: ...
...
Request

Parameters:

{"id"=>"13"}
...

有没有办法关闭这个详细的错误显示?

在生产环境中运行服务器。rails s -e production - shime
我已经通过一个脚本托管网站在生产环境中运行我的项目。 - Paul S.
1个回答

12

尝试这个:

  • 在生产环境下运行服务器 $ rails s -e production

  • 删除 ActionDispatch::DebugExceptions 中间件

    config.middleware.delete(ActionDispatch::DebugExceptions)

  • 在你的环境配置中设置 config.consider_all_requests_local = false


好的,在我尝试之前,您能告诉我如何打开错误显示吗?提前感谢! - Paul S.
1
还有,我应该把 config.middleware.delete(ActionDispatch::DebugExceptions) 放在哪里? - Paul S.
在你的环境配置文件中 (config/environments/#{environment}.rb),要将它恢复,只需删除移除中间件的那一行或将 consider_all_request_local 设置为 true。 - shime
好的,显然我的项目网站在开发模式下运行,当我在development.rb中设置config.consider_all_requests_local = false时,错误消失了。谢谢! - Paul S.
太棒了!很高兴能帮忙。我建议的是生产环境的默认设置方式。 - shime

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接