Подходящее место для хранения глобалов (не констант!) В Rails 3 - PullRequest
2 голосов
/ 07 июня 2011

Я просмотрел соответствующие вопросы, но не смог найти то, что мне было нужно, так как большинство вопросов спрашивало, где хранить константы, а не просто глобальные.

Я бы хотел, чтобы моя CMS случайным образом выбирала цветовую схему вщелчок кнопки.Прежде чем пользователь автоматически сгенерирует цветовую схему, я хотел бы иметь возможность загрузить одну из нескольких переменных по умолчанию.Что такое хорошее место для такого рода вещей?

До сих пор я хранил настройки в базе данных, но мне интересно, есть ли простой способ.По какой-то причине размещение их в environment.rb или initializers.rb, похоже, не помогает.

Хочу отметить, что я хочу, чтобы эти переменные были редактируемыми;константы не годятся.

1 Ответ

3 голосов
/ 07 июня 2011

Вы хотите, чтобы пользователь изменил только цветовую схему для своего аккаунта?Если это так, этот параметр следует сохранить в базе данных, связанной с этим пользователем.

Если вы сохраните значение в константе Ruby, например, $ color в config / initializer / color.rb, оно будет установлено и повторноустановить для всех пользователей, попавших в этот запущенный экземпляр приложения Rails.Скажем, у вас есть три рабочих процесса Rails, работающие на веб-сервере, таком как Thin, 33% (в зависимости от вашего балансировщика нагрузки) увидят один и тот же цвет.

$ цвет в инициализаторе должен работать локально, но вы 'Вам придется перезапустить ваш сервер после создания переменной.

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