使用包含斜杠(/)的参数进行Rails路由

我想按如下方式设置路线

  • /url/http://google.comurls控制器和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*/ }