ruby-on-rails - 如何防止生产中出现不必要的路由错误

标签 ruby-on-rails

ActionController::RoutingError(没有路由匹配 [GET] "/google83362a7a0f381ff0.html"):

  1. 我在生产中看到了上面的日志,我该如何预防。
  2. 如果用户输入错误的 URL,我应该如何重定向到常见错误页面

最佳答案

如果没有路由匹配,您可以将用户重定向到您想要的页面

在 routes.rb 文件的底部写下以下代码

在/config/routes.rb

#If no route matches
match ":url" => "application#redirect_user", :constraints => { :url => /.*/ }

然后将用户重定向到application_controller.rb文件中的错误页面

*在/app/controllers/application_controller.rb*

def redirect_user
  redirect_to '/404'
end

关于ruby-on-rails - 如何防止生产中出现不必要的路由错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17678087/

相关文章:

ruby-on-rails - 如果验证失败,Rails 会跳过其他验证

ruby-on-rails - Ruby给了我类似其他人的四个失败

ruby-on-rails - 关于运行 guard init 时不使用 bundler 的警告

asp.net - 何时应为 .NET 4 Framework 设计新的 .NET 项目

ruby-on-rails - 二维数组前两列上的ruby uniq

ruby-on-rails - 如何将自定义操作添加到rails_admin

ruby-on-rails - 为什么有不同的 Ruby On Rails 版本?

ruby-on-rails - haml rspec 缺少模板

ruby-on-rails - rails : Resque parellel queues

ruby-on-rails - Rails 总是在初始化时包含(加入)