基本的に、FacebookやStackoverflowのような通知を作成したいと思います。具体的には、投稿コメントシステムでは、投稿にコメントが付けられると、関係者全員(投稿を作成し、新しいコメント投稿者を除くコメントを作成する人)に、この投稿にコメントが付けられるという通知メッセージが表示されます。そして、人々がそれを読んだときに通知は却下されます。
私はmailboxergemを使用して実装しようとしましたが、残念ながら、 social_stream自体を含め、関連するメソッドを使用して利用できる例はありません。
通知システムを作成する他の方法はありますか?
そして、最初から作成しようとすると、いくつかの問題が発生します。
Model Notification
topic_id: integer
user_id: integer
checked: boolean #so we can tell whether the notification is read or not
- ユーザーが読んだ後に通知を閉じる
ユーザーが通知のインデックスにアクセスした後、すべての通知メッセージの「チェック済み」属性をtrueに変更する必要があると思います。(NotificationsController内)
def index
@notifications=current_user.notication.all
@notification.each do |notification|
notification.checked = true
end
@notification.save!
end
2.通知するユーザーの選択(および新しいコメントを行うユーザーの除外)
クエリを作成するのがわかりません。
3.通知の作成
これは次のようなものになると思います
#in CommentController
def create
#after creating comments, creat notifications
@users.each do |user|
Notification.create(topic_id:@topic, user_id: user.id)
end
end
しかし、これは本当に醜いと思います
上記の3つの問題に答える必要はありません。通知システムの簡単な解決策が望ましいです、ありがとう...。