Rails Routing Issue - Неинициализированные постоянные игры - PullRequest
0 голосов
/ 25 марта 2012

У меня проблема с моим файлом маршрутов рельсов. В моем файле маршрутов есть следующее совпадение:

  match '/games/:game_id/increment_cool' => 'games/:game_id#increment_cool', :as => 'games_incrementcool'

Затем я пытаюсь использовать этот маршрут из вида моих игр так:

<%= link_to 'Cool!', games_incrementcool_path(@game) %>

но я получаю ошибку маршрутизации uninitialized constant Games.

Рейк маршрутов показывает это:

(in /home/sumdeos/RIT48/oneCoolGameADay)
                          profile_index GET    /profile/index(.:format)
                       new_user_session GET    /users/sign_in(.:format)
                           user_session POST   /users/sign_in(.:format)
                   destroy_user_session DELETE /users/sign_out(.:format)
                 user_omniauth_callback        /users/auth/:action/callback(.r)
                          user_password POST   /users/password(.:format)
                      new_user_password GET    /users/password/new(.:format)
                     edit_user_password GET    /users/password/edit(.:format)
                                        PUT    /users/password(.:format)
               cancel_user_registration GET    /users/cancel(.:format)
                      user_registration POST   /users(.:format)
                  new_user_registration GET    /users/sign_up(.:format)
                 edit_user_registration GET    /users/edit(.:format)
                                        PUT    /users(.:format)
                                        DELETE /users(.:format)
submitLeaderboardStatistic_game_leaderboard POST   /games/:game_id/leaderboards/:
                      game_leaderboards GET    /games/:game_id/leaderboards(.
                                        POST   /games/:game_id/leaderboards(.
                   new_game_leaderboard GET    /games/:game_id/leaderboards/n
                  edit_game_leaderboard GET    /games/:game_id/leaderboards/:
                       game_leaderboard GET    /games/:game_id/leaderboards/:
                                        PUT    /games/:game_id/leaderboards/:
                                        DELETE /games/:game_id/leaderboards/:
                                  games GET    /games(.:format)
                                        POST   /games(.:format)
                               new_game GET    /games/new(.:format)
                              edit_game GET    /games/:id/edit(.:format)
                                   game GET    /games/:id(.:format)
                                        PUT    /games/:id(.:format)
                                        DELETE /games/:id(.:format)
                    games_incrementcool        /game/:game_id/increment_cool(
                             home_index GET    /home/index(.:format)
                                   root        /

Я пробовал несколько разных способов сделать эту работу, но ни один из них не сработал.

Как мне заставить мой взгляд вызывать метод increment_cool в моем игровом контроллере? Заранее спасибо!

1 Ответ

0 голосов
/ 25 марта 2012

Вот как работает сопоставление: match '/posts' => 'posts#index'

Первая строка - это маршрут, а вторая строка - это комбинация контроллер / действие, разделенная #.

'games#increment_cool' представляетincrement_cool действие контроллера games.

match '/games/:game_id/increment_cool' => 'games#increment_cool', :as => 'games_incrementcool'

Хотя вам, вероятно, следует использовать единственную «игру» в опции :as по семантическим причинам, поскольку она работает надединственный ресурс.Может быть, что-то вроде game_increment_cool или increment_cool_game.

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