Wisper:订阅者听不到广播

Wisper: Subscribers not hearing broadcasts

我在之前的问题中被推荐使用一个名为 Wisper 的 gem。我很高兴了解它,因为它正是我正在寻找的解决方案。我从 Wisper 的文档中无法理解的是听众如何注册自己。

这是我的代码:

app/models/subscription.rb

class Subscription < ActiveRecord::Base
include Wisper::Publisher

  def some_method
    # some code here
    broadcast(:subscription_paused)
  end
end

app/models/offer.rb

class Offer < ActiveRecord::Base
  def subscription_paused
    binding.pry # or whatever
  end
end

所以我对这里的这一部分不是很确定。我尝试了多种订阅技术,但我认为归根结底是我没有真正理解它的这方面:

config/initializers/wisper.rb

Wisper.subscribe(Offer.new)

我也试过了,类似wiki中的例子:

subscription = Subscription.new
subscription.subscribe(Offer.new)

我在这里错过了什么? (我不确定上面的代码是否应该放在初始化程序中。)

如果报价和订阅模型存在表格,那么代码应该可以工作。

在 rails 控制台试试这个:

# class Subscription < ActiveRecord::Base
class Subscription
  include Wisper::Publisher

  def some_method
    # some code here
    broadcast(:subscription_paused)
  end
end

# class Offer < ActiveRecord::Base
class Offer
  def subscription_paused
    puts "jeijjj"
  end
end


Wisper.subscribe(Offer.new)

Subscription.new.some_method

它应该生成一个输出:

"jeijjj"