Rails アプリでは、プッシュ通知 (チャット用) に Faye (Rack アダプター) を使用しました。
Faye を別のユースケース (より多くのプッシュ通知) に使用したいのですが、理解できないようです。
私のアプリでは、バックグラウンド ジョブからモデルを作成できるため、モデルが作成されたときにビューの 1 つ (インデックス アクションなど) を更新したいと考えています。
そのようです:
アプリ/モデル/post.rb
class Post
include Mongoid::Document
after_create :notify_subscribers
private
def notify_subscribers
Faye::Client.publish("/posts")
end
end
アプリ/ビュー/投稿/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 呼び出しを行うだけですか? ゆっくりになりそうです。
さらに、モデルの更新に同様のものを使用したい (ユーザーがコメントを追加した、または作成者がコンテンツを変更したなど) ため、DB を常にスラッシングするのは良い計画ではないようです...