我有一个具有单个索引操作的控制器。同一资源具有一些静态资产,这些资产不需要控制器中的任何内容。曾经有一些其他的现在已经消失了,但网络上到处都有挥之不去的链接。
有没有办法可以匹配任何在控制器中没有定义操作或app/views/resources/____
命名视图中未定义操作的/resource/*
请求,并将其路由到默认值(在这种情况下resource#index
很好)。
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