pusher 和 rails 更新 div

pusher and rails updating a div

收到推送后,我希望它更新 div。 我不太了解 javascript,但这就是我目前所了解的。

#subscription

var pusher = new Pusher('<%= Pusher.key %>');
var channel = pusher.subscribe('test_channel');
channel.bind('greet', function(data) {
  $("#data.greeting").load(location.href + " #data.greeting");
 });

#trigger

<%= Pusher['test_channel'].trigger('greet', {  :greeting => "present"}) %>

#present 是 div 我试图在此示例中更新。触发器有效,但子端没有任何反应

您是否在视图中渲染触发器,就像在您的 .erb 文件中一样?

尝试保持订阅代码不变,然后在 rails 控制台中 运行 触发代码,就像这样:

Pusher['test_channel'].trigger('greet', { :greeting => "present"})

我是这样解决的

  channel.bind('greet', function(data) {
  $("#present").load(location.href + " #present");
  });

它只是忽略来自触发器的输入并运行该命令,效果很好。以这种方式实施可能需要更多工作,但它会起作用。