如果用户输入错误的网址,如何将拼写错误的网址重定向到某个默认网址?
答案 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