2012-01-29 6 views
5

これはアプリケーション間でよく見られるパターンですが、私は確かに優雅な解決策がありますが、私の人生にとって私は答えを見つけることができません。大きな問題は、私はそれを何と呼ぶべきかをかなり知らないということです!Rails 3:システム通知の戦略

私はシステムのすべてのユーザーに1回限りの通知を与えるための適切な解決策を探しています。そのユーザーが通知を承認または終了すると、通知は個人的には再び表示されませんが、ユーザーは通知を受け取るまでユーザーが通知します。

このメンテナンスの通知を行う場合が一般的です、新機能、オンボーディングなど

明らかに、これは、この特定は、この特定のメッセージを認めているフラグとして、いくつかのデータベースに住む必要があるだろうが、それはそうですそのようなものを配達するための十分に検討された計画なしに、それは重くて扱いにくくなる可能性があります。

答えて

2

同様の質問に対してmy answerを参照してください。

メッセージは、ユーザモデル内でシリアル化された配列として存在します。このようにして、新しいメッセージには#pushのような単純な配列メソッドを使用できます。ユーザーは、特定のメッセージのみを扱い、#delete_atを使用して個々のメッセージをキャンセルするか、#clearを使用してメッセージをすべてキャンセルします。

放送通知について、あなたに不快な何かができるように:使用頻度が低い場合には、契約の大きくはありません、

User.all.map {|x| x.messages.push "You have been notified." ; x.save }