gpt4 book ai didi

ruby-on-rails - Twitter gem 最佳实践—— Controller 与初始化器

转载 作者:行者123 更新时间:2023-12-04 00:44:11 25 4
gpt4 key购买 nike

我在 Twitter 上注册了一个应用程序,可以发布到我的 Twitter 源。但是,只有当我将初始化程序放入我的 Controller 的创建操作中时,我才能让它工作。

        client = Twitter::REST::Client.new do |config|
config.consumer_key = ''
config.consumer_secret = ''
config.oauth_token = ''
config.oauth_token_secret = ''
end

client.update("Hello World!")

我是按照这篇文章中的建议走到这一步的: Twitter integration rails 4 app

我如何通过让它读取我的配置/初始化程序中的文件来完成这项工作/最佳做法是什么?

最佳答案

所以你有几个选择。一种是将 twitter 客户端分配给初始化程序中的全局变量:

# config/initializers/twitter.rb
$twitter = Twitter::REST::Client.new do |config|
# ...
end

然后在其他地方使用 $twitter 全局变量。我倾向于不喜欢使用全局变量,因为它会污染全局命名空间。我的替代方法是在相关类上定义类属性。例如,您可以在 ApplicationController 上定义它,但我建议创建一个单独的类来处理更复杂的情况。使用 ApplicationController 示例,它看起来像这样:

# app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
class << self
attr_accessor :twitter
end
end

# config/initializers/twitter.rb
ApplicationController.twitter = Twitter::REST::Client.new do |config|
# ...
end

但是,如果您要使用此方法,我再次建议您使用一个单独的类而不是使用应用程序 Controller 。

关于ruby-on-rails - Twitter gem 最佳实践—— Controller 与初始化器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21244729/

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