在我的Rails应用中,我使用了Faye(Rack适配器)来进行推送通知(例如聊天)。
我想将Faye用于另一个用例(更多的推送通知),但我似乎无法弄清楚如何操作。
在我的应用中,模型可以从后台任务中创建,因此当模型被创建时,我希望刷新我的视图之一(比如说索引操作)。
代码示例:
app/models/post.rb
我想将Faye用于另一个用例(更多的推送通知),但我似乎无法弄清楚如何操作。
在我的应用中,模型可以从后台任务中创建,因此当模型被创建时,我希望刷新我的视图之一(比如说索引操作)。
代码示例:
app/models/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调用来从服务器重新加载数据吗?那似乎会很慢。
进一步说,我想对模型的更新使用类似的东西(例如用户添加了一些评论或作者更改了内容),因此不断地访问数据库似乎不是个好计划...