コードを書き始める前に、私はこれの背後にあるより良いロジックを得ようとしています。Rails:新しいメッセージでページを更新するにはどうすればよいですか? via Ajax? Jquery?
私はバックグラウンドプロセスを介して新しいメッセージを収集するモデルを持っています。 (したがって、データベースはすべての新しいメッセージで2-3分ごとに更新されます)。
ユーザーが受信ボックスに来ると、現在のメッセージがすべて表示されます。これは私にとっては簡単です:
@user = User.find(params[:id])
@user.messages
そして私はページにユーザーの現在のメッセージを表示します。
しかし、新しいメッセージは、ユーザーがそのページ(または他のページ)上にある間に入って来た場合、どのように私は完全なページ・リフレッシュを必要とせずに、新たなメッセージ/ wのページを更新することができるもの。私はこれがajax(periodic_call_remote?)を介して行うことができることを知っています。しかし、私はのみになりますは、入って来る新しいメッセージだけをハイライト(フェード/点滅)します。
私は先にこの周りをラップしようとしています。私の現在の解決策は、受信ボックスの一部を使用して、受信トレイメッセージの別の部分を呼び出すことです。しかし、どうすれば "NEW"メッセージだけでページを定期的に更新できますか?言って、2分ほどごとに確認してください。
アイデア?
これは興味深いジョンです。私は意図的にレコードにタイムスタンプを入れて、すべての「新しいメッセージ」を見つけることができました。 (最後の "更新"呼び出しよりも長いタイムスタンプのメッセージ)。しかし、それぞれのIDが異なる場合、どのIDを一意に識別して追加するのですか? (各「新しい」メッセージは異なるタイムスタンプを持つことができるため)。それが意味をなさないかどうかわからない... –
そして、ページをリフレッシュしています...私は多分periodic_call_remoteがそれに十分であると思っています。ここで大声で考えてみてください... –
ああ!ただ私のコメントを読んで、最初はあなたに従っていないが、私は考えを得ると思う。すべてのIDの*新しい*メッセージにタイムスタンプを追加し、そのように強調表示します。それが動作するかどうかを確認します。 –