Простой ответ - нет.Каждый запрос обрабатывается как независимое событие, и никакая информация о состоянии не переносится, кроме того, что хранится в пользовательском сеансе и любых внешних базах данных, кэшах или хранилищах файлов.Лучше всего, если вы разрабатываете свое приложение с учетом этого и не ожидаете, что что-то сохранится только потому, что вы его установили.
Более сложная история заключается в том, что некоторые вещи сохраняются.Например, вы можете создать переменную класса на контроллере, и это будет передаваться из одного запроса в другой, как вы могли бы ожидать.Суть в том, что это относится только к единственному экземпляру этого контроллера, содержащемуся в этом процессе, и не будет применяться к запросам, обслуживаемым другими процессами.Если вам необходимо кэширование, используйте инфраструктуру Rails.cache и избегайте собственных хакерских атак.
Типичная производственная среда - сложная, постоянно меняющаяся вещь, где процессы создаются и уничтожаются постоянно, а их нет.способ заранее определить, какой процесс в конечном итоге будет обслуживать конкретный запрос.Поскольку во многих развертываниях используются не только несколько процессов на одном компьютере, но и несколько компьютеров, на самом деле не существует практического способа создания одноэлементных объектов для всего приложения.
Лучшее, что вы можете сделать, - это создать слой поверхмеханизм кэширования, где ваш одноэлементный объект является просто оболочкой для функций, которые выбирают и записывают из кэша.Это дает вам вид единичного объекта при сохранении согласованности между процессами.