使用包含斜杠(/)的参数进行Rails路由
我想按如下方式设置路线
-
/url/http://google.com
到urls
控制器和index
操作。
我现在在routes.rb
有什么:
match "urls/:url" => "urls#index"
路由似乎不起作用,因为斜线:url
。
你可以做类似的事情
match "urls/:url" => "urls#index", :constraints => {:url => /.*/}
在Rails 2.3中,它可以在Rails 3中工作,允许你匹配:url中的/(虽然,我现在无法测试它。)
或者你可以使用Route Globbing:
match "urls/*url" => "urls#index"
您可以通过params[:url]
访问控制器中的值
参考: http ://guides.rubyonrails.org/routing.html搜索“Route Globbing”
get ':klass/:id', constraints: { klass: /\D*/ }