在 Rails 应用程序中,我使用 Faye(机架适配器)进行推送通知(用于聊天)。
我想将 Faye 用于另一个用例(更多推送通知),但我似乎无法弄清楚。
在我的应用程序中,可以从后台作业创建模型,因此我想在创建模型时刷新我的一个视图(例如索引操作)。
像这样:
应用程序/模型/post.rb
class Post
include Mongoid::Document
after_create :notify_subscribers
private
def notify_subscribers
Faye::Client.publish("/posts")
end
end
app/views/posts/index.html.erb
<%= subscribe_to(posts_url) do %>
uhh what do I do here? ajax call to refresh the whole page??
<% end %>
那么直接从 after_create 回调发布通知是一个好主意,当我从 Faye 服务器收到消息时,我该如何实施“更新”?我是否只是进行 AJAX 调用以从服务器重新加载数据?这似乎会很慢。
此外,我想使用类似的东西来更新模型(比如用户添加了一些评论或作者更改了内容),所以一直颠簸数据库似乎不是一个好计划......