将彗星与彗星服务器集成的设计模式

问题描述:

我有一个Ruby on Rails(2.3.5)应用程序和一个APE(Ajax Push Engine)服务器。当在Rails应用程序中创建记录时,我需要将适用通道上的新记录推送到APE服务器。可以通过控制器的创建操作的传统路径在Rails应用程序中创建记录,或者可以通过多个事件机器创建记录,这些事件机器不断监视各种输入流,并在他们看到满足特定条件的数据时创建记录。将彗星与彗星服务器集成的设计模式

在我看来,把数据推送到APE服务器(反过来推送给客户端)的代码的最佳/正确位置在Model的after_create挂钩中(因为并非所有的记录创建将流经控制器的创建动作)。

最后需要注意的是我想将一段格式化的HTML推送到APE服务器(而不是数据的JSON表示)。我想这样做的原因是1)我已经有逻辑来在现有的部分中生成所需的布局2)我不想创建一个部分的JavaScript实现(JavaScript需要一个JSON对象并在周围创建所有HTML它用于演示)。这很快就会成为维修的噩梦。 这样做的问题是它需要在模型中“渲染”部分(因为当他们以这种方式呈现时,他们似乎无法访问Helpers),因此我无法做到这一点。

无论如何 - 只是想知道组织这一切的正确方法是什么。

感谢

在#rails交谈对象的一些人后#ape这似乎是这个问题的最佳途径。

alt text