如何在生产模式下修复 Rails 的路由错误?

Posted

技术标签:

【中文标题】如何在生产模式下修复 Rails 的路由错误?【英文标题】:How do I fix routing errors from rails in production mode? 【发布时间】:2010-09-13 10:15:41 【问题描述】:

如果我尝试访问我的 rails 应用程序 URL 中的一些随机字符串,例如 /asdfasdifjasdfkj,那么我会看到 rails 错误消息

路由错误

No route matches "/asdfasdifjasdfkj" with :method=>:get

即使我处于生产模式。显然我不希望任何真正的用户看到这个,并且更喜欢 404 页面。任何人都知道出了什么问题以及我如何解决它?

【问题讨论】:

【参考方案1】:

要获得 404,您需要在生产环境中运行服务器并 在 url 中使用外部 IP 地址而不是本地/环回 IP 地址。

您还可以强制控制器将您的所有请求视为本地请求:

  def local_request?
    return false
  end

【讨论】:

谢谢!在过去的十分钟里,我一直在摸不着头脑;)

以上是关于如何在生产模式下修复 Rails 的路由错误?的主要内容,如果未能解决你的问题,请参考以下文章

Rails + ActionCable + Passenger + AWS Elasticache (Redis):如何修复“WebSocket 在建立连接之前关闭。”在生产?

如何修复“运行配置错误:[SDK 中未找到 Rails]”?

Rails 生产静态文件路由错误

如何在生产模式下安全地使用“包罗万象”?

Rails Production - 如何设置密钥库?

Rails:如何修复 ActiveRecord::不可逆的订单错误