【发布时间】:2015-12-15 18:54:22
【问题描述】:
我想在/lib 的文件中创建一个类的全局实例。我可以像这样访问这个类并在我的控制器中初始化它:
message_queue = MessageQueue.new
但是,我希望有一个全局版本,只要 rails 会话正在运行(这是一个实验。我不想为此使用模型)。
我通过以下方式在application.rb 中初始化了变量:
config.autoload_paths << Rails.root.join('lib')
这样它们是全局的,以确保可以找到该类。但是,我在初始化变量时收到错误:uninitialized constant RPG::Application::MessageQueue (NameError)。
如何使MessageQueue 的实例成为我可以在任何地方访问的全局变量?
【问题讨论】:
-
什么是“全局实例”?
-
您是否在
application.rb中包含MessageQueue类?
标签: ruby-on-rails ruby ruby-on-rails-3 class global-variables