Ruby on Rails - глобальная переменная? - PullRequest
5 голосов
/ 23 июня 2010

Я новый пользователь Ruby on Rails и у меня возник вопрос.Я имею представление о том, как я хочу, чтобы моя БД пользователей выглядела, но мне было интересно, стоит ли мне добавлять к ней дополнительное значениеПо сути, мне нужна переменная, чтобы сигнализировать всем пользователям, что безопасно выполнить определенное действие.Эта переменная будет постоянной для всех пользователей и должна быть видимой для всех пользователей, но я хочу, чтобы сервер также мог изменять эту переменную.При программировании на других языках я бы использовал глобальные переменные, поэтому я хотел проверить, так ли это и здесь.Если это так, будет ли это лучшим подходом для этого: Глобальные переменные для всего сайта в Ruby on Rails .Кроме того, как бы я обновить глобальные переменные.Спасибо за любую помощь!

1 Ответ

7 голосов
/ 23 июня 2010

Глобальная переменная не соответствует вашим потребностям. Он не распространяется на все процессы Ruby. Если ваш веб-сервер запускает 5 процессов ruby ​​для одновременной обработки 5 запросов, переменная, определенная в первом процессе, не будет видна другим.

Доступны и другие решения. Вы можете использовать базу данных и хранить флаг / информацию в базе данных. В противном случае вы можете использовать файл и сохранить значение в файле. Лучшим решением будет общий источник данных в памяти, такой как memcached или Redis.

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