实时触发来自 Rails 的主干事件
Triggering backbone events from Rails in real time
我正在使用RoR,Backbone,并且我有一个使用sidekiq的服务器端功能,所以我的Redis数据库实时更新。当 sidekiq 确实更改数据库属性时,我需要触发我的主干事件。Sidekiq 函数位于 app/assets/workers 目录中。所以基本上我需要从 Rails/app/assets/workers/worker.rb 实时触发我的 Backbone 集合在 app/assets/javascripts/backbone/models/monster.js.coffee 上。当 sidekiq 实时更新数据库中的属性时,对于 Backbone,一切都是无声的,我的集合不会实时更改。如果我刷新页面,它会更新。如何从Rails应用程序实时触发骨干事件?我是否需要使用另一个框架,或者它可以简单地在 rails 中做到这一点?
此功能不是由开箱即用的 Rails 提供的,因此您需要一个自定义解决方案。我建议看看Faye,这是一个发布/订阅消息传递系统,可以通过Faye gem轻松与Rails集成。
要完成您想要的操作,您需要按照文档设置 Faye 服务器。在浏览器中,您需要按照此处所述创建客户端。使用浏览器客户端,您可以订阅和收听频道上的消息。在后端,当您的 Sidekiq 工作人员完成并更新相关数据时,您可以在 Faye 频道上发布消息。在浏览器客户端中收到消息后,您可以对它执行任何操作,包括触发 Backbone 集合上的事件。希望这有帮助。
相关文章:
- 将谷歌地图点击事件中的LatLng传递到rails控制器
- 挂钩到Rails内置远程:true'ajax:成功'事件
- javascript绑定另一个select2输入字段rails的select2 inputonchange事件的数据
- 将参数传递给Rails中的onchange事件
- 如何在Javascript事件上触发rails控制器操作
- 如何在触发:onchange事件时调用ruby方法(ruby on rails 4)
- 涡轮链路触发事件链,但随后发生正常导航(Rails 4)
- Rails 4 主干网的事件顺序 需要加载
- Rails - 如何通过 AJAX 在渲染的部分中调用 jQuery 事件
- Jquery 事件处理程序未在 Rails 应用程序中触发
- Rails 没有处理我的 jQuery .click 事件(甚至无法弹出警报)
- 将 Rails 表单 POST 数据传递给 JS 点击事件
- Rails 4 - 呈现部分后运行代码的事件
- 实时触发来自 Rails 的主干事件
- 用于在Rails中显示隐藏表单的JQuery事件处理程序
- jquery按钮事件处理程序rails
- Rails select_tag-jQuery/JavaScript隐藏/显示更改事件
- Rails布局中的事件侦听器
- 如何在rails中的选择框上调用onClick事件
- Javascript事件/rails应用程序中的意外结果