我有一个这样分配的变量:
cryptsy = Cryptsy::API::Client.new(key, secret)
我怎样才能使这个变量在整个应用程序中都可以访问?
目前它在应用程序控制器中,但我正在使用 GRAPE gem 来创建一个简单的 api。我需要能够访问 /app/api/v1/bla.rb 中的变量和 v1 文件夹中的其他文件。
我有一个这样分配的变量:
cryptsy = Cryptsy::API::Client.new(key, secret)
我怎样才能使这个变量在整个应用程序中都可以访问?
目前它在应用程序控制器中,但我正在使用 GRAPE gem 来创建一个简单的 api。我需要能够访问 /app/api/v1/bla.rb 中的变量和 v1 文件夹中的其他文件。
您可以创建一个初始化程序以在应用程序加载时进行实例化。在 config/application.rb 做类似的事情
require 'cryptsy/api'
module YourApp
Cryptsy = Cryptsy::API::Client.new(key, secret)
...
end
这将为您提供该对象的普遍可访问的实例。
如何在 lib 中创建一个类并将其添加到那里。确保将 lib 添加到 config/application.rb 中的自动加载路径
class Cryptsy
def self.client
@cryptsy ||= Cryptsy::API::Client.new(key, secret)
end
end
无论你想在哪里使用它,你都可以调用
Cryptsy.client
您可以将以下代码添加到文件中app_root/config/initializers/cryptsy.rb
require 'cryptsy-api' # this line might be needed
$cryptsy = Cryptsy::API::Client.new(key, secret)
然后您可以$cryptsy
通过应用程序访问。