2017-08-13 64 views
0

我使用的是RedditKit gem,为了访问某些元素,我需要发送一个请求到reddit api来创建一个"client" object。下面是我目前的逻辑:如何制作一个轨道服务器的广泛对象?

## application_controller 
before_action :redditkit_login 

private 

def redditkit_login 
    @client = RedditKit::Client.new ENV["reddit_username"], ENV["reddit_password"] 
end 

正如你可以在我的逻辑在这里看到,每一个请求之前,我随后做一个新的客户对象,然后使用无处不在。

我的问题是,我如何才能使一个客户端对象可以用来提供来自任何地方的所有请求?

我的动机是速度。对于每个请求到服务器,我正在提出一个新的请求,以reddit然后回应原始请求。我希望随时都可以随时使用客户端对象。

回答

0

您有很多选择。一个简单的一个是创建一个config/initializers/reddit_client.rb文件,并摆在那里:

RedditClient = RedditKit::Client.new ENV.fetch("reddit_username"), ENV("reddit_password") 

(注意我切换到ENV.fetch,因为如果关键是没有找到它就会报错,这可能是有益的)。

您也可以将该文件重命名为app/models/reddit_client.rb。虽然它不是一个真正的模型,但该文件夹也是自动加载的,所以它也应该可以工作。

+0

谢谢!这工作!网站速度提高10倍:) – Dillawes0me

相关问题