【发布时间】: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