作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个对象,我想创建一次并在我的模型之一中访问它。我把他放在哪里?恐怕如果我把他放在模型类文件中,每次我创建该模型的新实例时,他都会被创建。我只希望这个对象在启动时创建一次。这是对象:
require 'pubnub'
publish_key = 'fdasfs'
subscribe_key = 'sdfsdsf'
secret_key = 'fsdfsd'
ssl_on = false
pubnub_obj = Pubnub.new(publish_key,
subscribe_key,
secret_key,
ssl_on)
class Message < ActiveRecord::Base
def self.send_new_message_client(message)
message = { 'some_data' => message }
info = pubnub_obj.publish({
'channel' => 'testing',
'message' => message
})
puts(info)
end
end
最佳答案
在 Rails 中,每个请求都会重新创建对象。如果这是某种服务,它应该是请求范围内的单例。
单例对象应该使用 ruby 单例 mixin 创建:
require 'singleton'
class Pubnub
include Singleton
def initialize(publish_key, subscribe_key, secret_key, ssl_on)
# ...
end
def publish
# ...
end
end
instance
调用它方法:
Pubnub.instance.publish
models
目录,虽然我经常更喜欢
lib
目录或者为服务创建一个新目录。这取决于实际情况。
关于ruby-on-rails-3 - 如何在 rails 中创建单例全局对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10762246/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!