Проблема с Rails-маршрутами при тестировании контроллера - PullRequest
1 голос
/ 15 сентября 2011

Я в растерянности относительно того, что я делаю здесь неправильно. У кого-нибудь есть понимание?

Вот мои маршруты.рб

resources :accounts do
    collection do
        get "search/:term/:offset/:limit.:format", :action => "search", :constraints => { :offset => /\d+/, :limit => /\d+/ }
    end
end

Вот вывод моих рейковых маршрутов ...

GET    /accounts/search/:term/:offset/:limit.:format    {:offset=>/\d+/, :action=>"search", :controller=>"accounts", :limit=>/\d+/}

Вот моя тестовая линия ...

get :search, :term => "Test", :offset => 0, :limit => 2

Вот моя ошибка ...

ActionController::RoutingError: No route matches {:term=>"Test", :action=>"search", :controller=>"accounts", :offset=>0, :limit=>2}

Есть идеи?

Заранее спасибо!

1 Ответ

2 голосов
/ 18 сентября 2011

Я нашел проблемы ...

1) Ожидается совпадение по строкам, поэтому вместо

:offset => 0, :limit => 2

должно быть

:offset => '0', :limit => '2'

2): формат не был обязательным. Я решил сделать его необязательным параметром, но если вы столкнетесь с этим, вам придется передать формат, если вы не сделаете его необязательным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...