gpt4 book ai didi

ruby-on-rails - 如何将 Twitter 配置移出 Controller ? ( rails )

转载 作者:数据小太阳 更新时间:2023-10-29 08:38:22 26 4
gpt4 key购买 nike

我正在使用 Twitter Gem通过 sferik。

我认为将我的 Twitter 应用程序的配置存储在 Controller 中非常困惑:

class HomeController < ApplicationController


def index
require "twitter"
client = Twitter::REST::Client.new do |config|
config.consumer_key = "###"
config.consumer_secret = "###"
config.access_token = "###"
config.access_token_secret = "###"
end
@tweets = client.user_timeline( count: 2)
end

def show
end

end

我试图将其存储在/config/initializers/twitter_creds.rb 中:

require "twitter"
client = Twitter::REST::Client.new do |config|
config.consumer_key = "###"
config.consumer_secret = "###"
config.access_token = "###"
config.access_token_secret = "###"
end

但我不确定这是否正确或我将如何在我的 Controller 中访问 Twitter 客户端。我注意到一些开发人员使用 .yml 文件来存储配置文件。我正在寻找指导;什么是最佳实践以及如何从我的 Controller 访问 Twitter 客户端?

最佳答案

关于您的类(class):

你最好使用一个模块来封装推特逻辑。我会像这样更改类(class):

class HomeController < ApplicationController
include MyTwitterModule

def index
@tweets = user_timeline(2)
end

def show
end

end

模块应该是这样的:

require "twitter"
module MyTwitterModule
@@client = Twitter::REST::Client.new do |config|
config.consumer_key = "###"
config.consumer_secret = "###"
config.access_token = "###"
config.access_token_secret = "###"
end

def user_timeline(qt)
@@client.user_timeline(count: qt)
end
end

这只是一个建议;)

关于存储 key 和 token :

存储此类信息的更好方法是使用 Rails.env,您可以使用不同的 key 或 token 进行开发和生产,并且不会将其存储在文件中。

看看这个gem ,它可以帮助你。

希望对您有所帮助。

关于ruby-on-rails - 如何将 Twitter 配置移出 Controller ? ( rails ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20570676/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com