Я следил за отличным решением, опубликованным здесь относительно версии API с использованием Rails-маршрутизации, но я продолжаю работать в бесконечном перенаправлении.
Вот раздел моего routes.rb
namespace :api do
namespace :v1 do
resources :books
end
namespace :v2 do
resources :books
end
match 'v:api/*path', :to => redirect("/api/v2/%{path}")
match '*path', :to => redirect("/api/v2/%{path}")
end
что практически совпадает с опубликованным ответом. Доступ к /api/v1/books/list.json
работает так, как ожидается, api/v2/books/list.json
. У меня проблема с /api/books/list.json
, которая должна перенаправляться на /api/v1/books/list.json
. Если я попытаюсь получить доступ к api, не указав, какую версию, мой браузер отвечает бесконечным перенаправлением. Мои журналы выглядят следующим образом:
Started GET "/api/books/list.json?max_number=10" for 127.0.0.1 at 2013-04-01 22:00:51 -0400
Started GET "/api/v1/books%2Flist" for 127.0.0.1 at 2013-04-01 22:00:51 -0400
Started GET "/api/v1/books%2Flist" for 127.0.0.1 at 2013-04-01 22:00:51 -0400
Started GET "/api/v1/books%2Flist" for 127.0.0.1 at 2013-04-01 22:00:51 -0400
//... and so on