【问题标题】:Rails Routing Broken In Production - Caching of routes.rb suspectedRails 路由在生产中中断 - 缓存 routes.rb 可疑
【发布时间】:2011-02-26 11:17:47
【问题描述】:

更新:原来这个问题是因为我的一半杂种没有重新启动。感谢大家的帮助!

大家好,我有一个紧急问题。本质上,我的路由在我的本地主机上工作。但是当我将它部署到生产环境时,路由似乎无法正常工作。

例如,给定一条新路线“/invites” - 有时我会得到 404,有时它会正常工作。

我怀疑某处发生了一些缓存,但我不确定。

日志:未找到页面时(路线应该准确时)

处理用户控制器#network (对于 67.180.78.126 在 2010-06-01 09:59:31) [GET] 参数: {"id"=>"新"}

ActionController::RoutingError(否 路线匹配 带有 {} 的“/comm/role_playing_games”):
应用程序/控制器/application_controller.rb:383:in prev_page_label'
app/controllers/application_controller.rb:238:in
log_timed_info'
应用程序/控制器/users_controller.rb:155:in network'
app/controllers/users_controller.rb:151:in
network'
应用程序/控制器/application_controller.rb:44:in turn_on_query_caching'
app/controllers/application_controller.rb:43:in
turn_on_query_caching'
应用程序/控制器/application_controller.rb:42:in turn_on_query_caching'
app/controllers/application_controller.rb:41:in
turn_on_query_caching'
应用程序/控制器/application_controller.rb:40:in turn_on_query_caching'
app/controllers/application_controller.rb:39:in
turn_on_query_caching'haml (3.0.6) lib/sass/plugin/rack.rb:41:in `call'

渲染 /mnt/app/releases/20100524233313/public/404.html (404 未找到)

【问题讨论】:

  • 因为你在一小时内没有得到答案而删除并重新提出问题是不明智的。
  • 为什么你删除了你之前关于这个 (2951279) 的问题只是为了再问一遍?
  • 其次,鉴于您提供的堆栈跟踪,断言 rails 在缓存路由方面有问题是荒谬的。您的代码显然有问题。

标签: ruby-on-rails caching routing routes production


【解决方案1】:

您是否确保重新启动了您的服务器(如 apache、ngix 或乘客)? 此外,有时浏览器可以缓存 url,只需关闭浏览器并重新打开它,看看是否可以修复它。

另外,我会忘记将代码推送到 GIT,因此生产服务器无法获取最新代码。只需检查您的服务器是否确实有代码。

【讨论】:

  • 我确实重新启动了所有服务器,但问题是我的几个杂种没有重新启动。感谢帮助! =)
【解决方案2】:

从您发布的内容来看,这绝对不是缓存或路由问题。

听起来您正在尝试生成指向该人在 ApplicationController 中的上一页的链接,并且您遇到了错误。您必须从application_controller.rb 发布相关代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 2014-07-03
    相关资源
    最近更新 更多