Не найдено ни одного маршрута Ошибка: ActionController :: UrlGenerationError: Не найдено ни одного маршрута {: action => «Show»,: controller => «groups} - PullRequest
0 голосов
/ 01 мая 2018

Это бросило меня за штопор. У меня есть провальный тест, который должен пройти. Я получаю сообщение об отсутствии маршрута ActionController::UrlGenerationError: No route matches со строки get :Show, params: {id: @team}. Все остальное в моем приложении подтверждает, что определен маршрут ~/teams/:id от confing/routes.rb до сервера разработки.

Мой код:

Неудачный тест

test "should get show action when logged in" do
  log_in_as(@other_user)
  get :Show, params: {id: @team}
  assert_response :success
  assert_template 'teams/show'
end

Error

ActionController::UrlGenerationError: No route matches {:action=>"Show", :controller=>"teams", :id=>#<Team id: 1049939034, teamname: "Blue panthers" ..... >}

конфиг / routes.rb

 resources :teams, only: [:show, :index]

Рейк-рейты

team GET        /teams/:id(.:format)                         teams#show

Рельсовая консоль

2.4.2 :011 > app.team_path(2)
 => "/teams/2" 

Журнал сервера разработки

Started GET "/teams/4" for 127.0.0.1 at 2018-04-30 21:30:51 -0400
Processing by TeamsController#show as HTML
Parameters: {"id"=>"4"}
  User Load (23.1ms)  SELECT  `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1
  Team Load (16.4ms)  SELECT  `teams`.* FROM `teams` WHERE `teams`.`id` = 4 LIMIT 1
  Rendering teams/show.html.erb within layouts/application
Completed 200 OK in 474ms (Views: 398.0ms | ActiveRecord: 48.6ms)

У меня нет идей, как отладить эту ошибку.

...