Я думаю, что вы выбрали подход, который не должен даже работать. Платформа Rails MVC построена вокруг принципа, что каждый запрос обслуживается независимо, и что, теоретически, нет передачи состояния от одного запроса к другому, кроме как через params
, записи, хранящиеся в базе данных и постоянном пользователе session
.
Создание такого веб-приложения, как вы, может быть ошибкой для однопользовательской однопроцессорной программы. Использование синглетонов, таких как cattr_accessor
с именем current
, будет проблематичным, так как оно совместно используется запросами и не разделяется между различными экземплярами Rails, которых обычно много.
Поможет более точное сопоставление со стандартом REST index
, new
, create
, show
, edit
, update
и destroy
. Например, start_game
должно быть create
, а destroy_sessions
, вероятно, должно быть destroy
.
Из вашего дизайна неясно, является ли каждая игра общей для нескольких пользователей, или если они созданы для каждого пользователя индивидуально, поэтому трудно сказать больше о том, как решить вашу проблему.