【问题标题】:Handling non-existent routes in Rails 3.1 application在 Rails 3.1 应用程序中处理不存在的路由
【发布时间】:2011-09-20 09:36:38
【问题描述】:

不久前我刚刚切换到 Rails,我很喜欢它。在我的 rails 3.1 应用程序中一切正常,但现在最后我想以某种方式处理像 www.myapp.com/something 这样的路由(当然,我没有控制器)。当我访问此页面时出现路由错误,但我正在徘徊是否有办法对此做些什么,即使它只是将这些路由重定向到我的 root_url。我试图在网上找到答案,但没有运气。

【问题讨论】:

    标签: ruby-on-rails ruby routing


    【解决方案1】:

    是的,您可以在routes.rb 的最后放置一条通配路线以捕获所有未命中的信息:

    match '/*paths', :to => 'some_controller#some_action'
    

    在您的控制器/操作中,您可以访问全局路径

    params[:paths]
    

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

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

    match '/*paths' => redirect('/')
    

    【讨论】:

      猜你喜欢
      • 2011-05-11
      • 1970-01-01
      • 2011-11-12
      • 2011-10-25
      • 1970-01-01
      • 2018-06-18
      • 2023-02-03
      • 2020-07-07
      • 1970-01-01
      相关资源
      最近更新 更多