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"
我在之前的问题中被推荐使用一个名为 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"