Ruby on Rails – 全局变量?

我是一个新的Ruby on Rails用户并且有一个问题。 我知道我希望我的用户数据库看起来像什么,但想知道我是否应该为它添加一个额外的值。 基本上我需要一个变量来向所有用户发出信号,表示可以安全地继续执行某个操作。 此变量将在所有用户中保持不变,并且对所有用户都应该可见,但我希望服务器也能够更改此变量。 当用其他语言编程时,我会使用全局变量,所以我想检查这是否也是这种情况。 如果是这样,这将是实现它的最佳方法: Ruby on Rails中的站点范围全局变量 。 另外,我如何更新全局变量。 谢谢你的帮助!

全局变量不适合您的需要。 它并不遍及所有Ruby进程。 如果您的Web服务器同时生成5个ruby进程来处理5个请求,则第一个进程中定义的变量将对其他进程不可见。

还有其他解决方案。 您可以使用数据库并将标志/信息存储在数据库中。 否则,您可以使用文件并将值存储在文件中。 最好的解决方案是内存中的共享数据源,例如memcached或Redis。