【问题标题】:Pusher: How to set pusher client to intilizer?Pusher:如何将 pusher 客户端设置为 intilizer?
【发布时间】:2017-06-08 10:13:12
【问题描述】:

推送者的新版本

require 'pusher'

pusher_client = Pusher::Client.new(
  app_id: '12242',
  key: '0d3ae65',
  secret: '88147',
  cluster: 'ap1',
  encrypted: true
)

pusher_client.trigger('my-channel', 'my-event', {
  message: 'hello world'
})

在此之前,我是这样设置全局配置的

Pusher.app_id = ENV['PUSHER_APP_ID']
Pusher.key = ENV['PUSHER_KEY']
Pusher.secret = ENV['PUSHER_SECRET']
Pusher.logger = Rails.logger
Pusher.encrypted = true
Pusher.host = 'api-ap1.pusher.com'
Pusher.cluster = ENV['PUSHER_CLUSTER']

Pusher.trigger channels, 'new_message', self

现在如何将 Pusher 客户端配置添加到初始化器中,这样我就不需要每次都初始化它了??

【问题讨论】:

    标签: ruby-on-rails ruby pusher


    【解决方案1】:

    将 pusher_client 客户端变量重命名为 $pusher_client 或 PusherClient - 这样就可以从您的其余代码访问它(局部变量不能)。

    将此脚本放入config/initializers 文件夹中的一个新文件中,该文件会自动加载。

    【讨论】:

    • @mxple 谢谢它的工作,你能解释一下为什么 PusherClient 工作吗?
    • 以小写字母开头的变量是“本地的”,它们在其他文件中不可用。那些以大写字母开头的是“常量”,所以它们是可用的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-19
    • 2017-05-03
    • 1970-01-01
    • 1970-01-01
    • 2020-05-14
    • 2016-03-21
    相关资源
    最近更新 更多