【问题标题】:private pub - publish from controller never works私人酒吧 - 从控制器发布永远不会起作用
【发布时间】:2012-03-18 22:09:54
【问题描述】:

尝试实现一个基于私有 pub(类似于 juggernaut )的简单通知系统。作者:瑞安·贝茨,请参阅:http://railscasts.com/episodes/316-private-pub

问题:我无法从控制器发送消息真正的私人 pub

一些代码:

在 header.haml 中

= subscribe_to "/notifications"
= javascript_include_tag APP_CONFIG['faye'] ( includes JS wich is correct )

在 application.coffee 中

PrivatePub.subscribe "/notifications", (data, channel) ->
alert data

在任何控制器动作中

PrivatePub.publish_to("/notifications", "some test data to send")

-

这不起作用,想要的行为是“一些要发送的测试数据”显示在我在 rails 应用程序中的任何页面上的警报中。我已经尝试了几次关于 rails cast 的教程,克隆了私有 pub 示例代码仓库,但从控制器发送的内容没有任何效果。

更新:

任何人都可以帮助提供一个私人 pub 应用程序的示例,以从控制器发布到频道的复制?

更新2 似乎只要有创建动作它就可以工作,但没有创建动作就不行。 我希望能够使用 javascript 命令从控制器中的任何位置将一些数据发送到应用程序。比如“send private pub message load popup”,上面的代码是什么让这不起作用?

【问题讨论】:

  • alert data 缩进是否正确,还是第二个列表中的拼写错误?我有一个旧应用程序,它使用来自控制器的 PrivatePub 发布:github.com/BinaryMuse/chatterbox/blob/…Here is the JavaScript(这是一个预资产管道应用程序)。
  • 之前在Github上没有找到你的项目,有趣的是你用mongodb存储数据,很感兴趣的代码我去研究一下thx!
  • 是的,使用 MongoDB 存储聊天记录,因此当您刷新/返回页面时,它具有状态。这个任务可能有更好的存储引擎(想到 Redis):)
  • 布兰登如果您在后续回复中回答问题,我可以为您提供赏金,相信我无法做到这一点。谢谢

标签: ruby-on-rails ruby-on-rails-3 websocket railscasts faye


【解决方案1】:

我终于解决了这些问题,因为如果可能的话,我不会向 Brandon 提供真正的答案

【讨论】:

  • 嗨 Rubytastic,我有同样的问题。请发布您的解决方案。
【解决方案2】:

Private Pub 不允许您通过控制器发送消息。相反,您应该使用在客户端执行此操作的 JavaScript 进行响应。这一切都在这个great Faye and PrivatePub tutorial中描述

【讨论】:

  • 它确实允许从控制器发送消息
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-09
  • 1970-01-01
  • 2015-03-04
  • 1970-01-01
  • 1970-01-01
  • 2014-01-10
相关资源
最近更新 更多