ruby-on-rails - 如何处理 Rails 中已弃用 Assets 的路由?

标签 ruby-on-rails ruby-on-rails-4

在我们的生产日志中,当某些 IP(可能是机器人)尝试访问已弃用的 Assets 时,我们会收到如下错误:

ActionController::RoutingError(没有路由匹配 [GET]“/fonts/bootstrap/glyphicons-halflings-regular.svg”)

这对我们来说不是什么大问题,但我很好奇处理这个问题的最佳方法是什么。我觉得我们应该返回 410 HTTP 状态,而不是现在给出的 404。另外,我真的很想从日志中获取这些 30 行长的错误消息。

Rails 中是否有处理这些已弃用资源路由的最佳实践或惯例?

最佳答案

我认为最好由您的网络服务器完成,而不是 Rails 应用程序。

我不期望 Nginx,但你应该添加如下内容:

location ~* /fonts/bootstrap/ {
  if (-f $request_filename) {
    break;
  }

  return 410;
}

Nginx location doc将提供有关如何正确执行此操作的更多信息。

关于ruby-on-rails - 如何处理 Rails 中已弃用 Assets 的路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32634097/

相关文章:

ruby-on-rails - Rails 3.2 active_record/mass_assignment_sanitizer 未定义方法错误

ruby-on-rails - 当还使用 after_initialize 回调时,如何解决 ActiveRecord (Rails 3) 中的 n+1 查询问题?

ruby-on-rails - Rails Chartkick Lines 未在多系列 line_chart 中绘制

javascript - 是否可以记录用户的IP地址?

ruby-on-rails - 如何记录某个 url 的整个请求( header 、正文等)?

ruby-on-rails - 在具有 enum_attr 的记录上调用 .all 时参数数量错误

ruby-on-rails - 使用 Git 和 Rails 进行自动部署,它是如何工作的?

sql - 哪个 Rails 查询/链更好?

ruby-on-rails - created_at字段有时变为nil

ruby-on-rails - 为什么坚持?在 ActiveRecord::Rollback 之后返回 true?