Подтвердить что ты не робот

Маршрутизация Rails с параметром, который включает в себя косой чертой (/)

Я хотел бы настроить маршруты следующим образом

  • /url/http://google.com до urls и index.

Теперь у меня есть routes.rb:

match "urls/:url" => "urls#index"

Маршрутизация, похоже, не работает, потому что разрезан в :url.

4b9b3361

Ответ 1

Вы можете сделать что-то похожее на

match "urls/:url" => "urls#index", :constraints => {:url => /.*/}

в Rails 2.3, который может работать в Rails 3, чтобы вы могли соответствовать/в URL-адресе: (хотя, я не могу проверить это на данный момент.)

Ответ 2

Или вы можете использовать Route Globbing:

match "urls/*url" => "urls#index"

Вы можете получить доступ к значениям в вашем контроллере через params[:url]

Ссылка: http://guides.rubyonrails.org/routing.html Найдите "Маршрутизация маршрута"

Ответ 3

get ':klass/:id', constraints: { klass: /\D*/ }