Rails, вызывая действия одного и того же контроллера с точки зрения рестула? - PullRequest
0 голосов
/ 31 мая 2009

Я занимаюсь разработкой приложения, в котором должны быть игры. Когда пользователь нажимает на игру, он переходит в game.prestart с инструкциями и другими материалами. Там я написал:

 link_to "Play", :controller => "games", :action => "wait"

wait будет ждать других игроков, а затем перенаправить на действие "play"

Два вопроса здесь:

1.- Это не успокаивает, но я не знаю, как сделать это успокоительно, начать игру (показать?) В 3 этапа: предстарт, ожидание и сама игра

2.- Этот код, приведенный выше, выдаст «нет ожидания после действия» или что-то в этом роде, если я добавлю: method =>: get, я получу совпадения Нет маршрута. У меня есть метод «ожидания» и представление уже создано.

Ответы [ 3 ]

2 голосов
/ 31 мая 2009

Вы можете добавить методы в RESTful-маршрутизацию, кроме стандартных. Ознакомьтесь с разделом 3.3, «Добавление дополнительных действий RESTful здесь».

На самом деле, что вы действительно хотите, это 3.11

Похоже, вам нужны дополнительные маршруты участников, чтобы вы могли генерировать пути, используя:

wait_game_path(@game)

Чтобы сгенерировать маршрут участника, вам нужно будет изменить строку map.resources: games в вашем маршруте.

map.resources :games, :member => {:wait => :get}

Это добавит новое действие get для каждого экземпляра @ game

.
1 голос
/ 31 мая 2009

Вот как вы можете это сделать:

  1. Call action play.
  2. Поиск сессий, отмеченных как ожидающие.
  3. Если сеанс найден, поместите текущий сеанс и найденный сеанс в некоторый класс переноса и уведомите найденный сеанс о том, что игра принята (идентификатор объекта класса переноса).
  4. Если сессия не найдена, отметьте сессию, ожидающую игрока, и перенаправьте пользователя на «страницу ожидания». Запланируйте вызов ajax на «странице ожидания», которая будет отслеживать состояние сеанса, если игра будет принята из другого сеанса.

Надеюсь, это было полезно.

0 голосов
/ 31 мая 2009

Вы можете добавить методы в RESTful-маршрутизацию, кроме стандартных. Ознакомьтесь с разделом 3.3, «Добавление дополнительных действий RESTful» здесь .

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