rails - 当用户手动输入错误的URL时重定向

时间:2010-06-30 07:45:46

标签: ruby-on-rails ruby

如果用户输入错误的网址,如何将拼写错误的网址重定向到某个默认网址?

2 个答案:

答案 0 :(得分:5)

您可以添加默认根,捕获所有路由。

例如来自Typo源代码的摘录:

map.connect '*from', :controller => 'articles', :action => 'redirect'

在您的控制器中,您有一个参数[:from],其中包含您网址的所有参数的数组

答案 1 :(得分:1)

您可以从application_controller中拯救ActionController :: RoutingError,就像CanCan建议的未经授权的访问一样:

class ApplicationController < ActionController::Base

  (...)
  # Reditect to a default route when user inputs a wrong one
  rescue_from ActionController::RoutingError do |exception|
    flash[:error] = "There is no such route"
    redirect_to root_url
  end

end