【问题标题】:Add default, fall-back action for controller in rails为 rails 中的控制器添加默认的后备操作
【发布时间】:2013-01-26 08:05:39
【问题描述】:

我有一个带有单个索引操作的控制器。相同的资源有一些不需要控制器中的任何东西的静态资产。曾经有一些其他的现在已经消失了,但网络上到处都是挥之不去的链接。

有没有一种方法可以匹配任何没有在控制器中定义的操作或在app/views/resources/____ 中没有命名视图的/resource/* 请求并将其路由到默认值(resource#index 在这种情况下会很好)。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 routing


    【解决方案1】:
    class MyConstraint
      BYPASSED_ROUTES = ['anything']
    
      def matches?(request)
        BYPASSED_ROUTES.map {|r| request.path.include?(r)}.empty?
      end
    end
    
    MyApp::Application.routes.draw do
      # Insert other routes before the catch-all one
      match "/resource/*path" => "resource#index", :constraints => MyConstraint.new
    end
    

    【讨论】:

      猜你喜欢
      • 2014-01-10
      • 2016-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 2013-06-01
      • 2012-07-31
      相关资源
      最近更新 更多