处理Rails 3.1应用程序中不存在的路由

Mar*_*kić 4 ruby routing ruby-on-rails

我不久前刚换过轨道,我很喜欢它.一切都在我的rails 3.1应用程序中运行良好,但现在最后我想以某种方式处理像www.myapp.com/something这样的路线(当然,我没有控制器).当我访问这个页面时出现路由错误,但是如果有办法对它做一些事情我会徘徊,即使它只是将这些路由重定向到我的root_url.我试着在网上找到答案而没有运气.

Mar*_*sen 7

是的,你可以在你的最后放一条通路线routes.rb来捕捉所有的失误:

match '/*paths', :to => 'some_controller#some_action'
Run Code Online (Sandbox Code Playgroud)

在您的Controller/action中,您可以访问globbed路径

params[:paths]
Run Code Online (Sandbox Code Playgroud)

更多信息http://guides.rubyonrails.org/routing.html#route-globbing

当然,您可以使用redirect内联机架端点重定向而无需使用额外的控制器

match '/*paths' => redirect('/')
Run Code Online (Sandbox Code Playgroud)