代わりに Notice Gem 経由でスレッド通知を送信するにはどうすればよいですか?
概要
私の Ruby on Rails アプリケーションは Noticed gem を使用して通知を配信します。
最近、Thredded gem を追加してフォーラム セクションを作成し、2 つの異なる通知アイコンができるようになりました。 1 つはメイン ナビゲーションに、もう 1 つはスレッド化されたフォーラム ページにあります。
現在、このような初期化ファイルがあります
Thredded.notifiers = []
通知を無効にしていないので、どこを変更すればよいのかわかりません。
スレッド化された初期化ファイルで通知 ( Noticed を使用) を作成しようとしましたが、アプリがクラッシュしました。
Thredded.notifiers = [Noticed::ThreddedNotification.with(user: user.id).deliver_later(user)]
通知はどこで変更できますか?
解決策
私自身の質問が解決しました(笑)! :)
Thredded には特定のメソッドがいくつかあるため、 Noticed 通知ファイルとカスタム通知コントローラーを生成しました。次に、初期化ファイルで、そのコントローラー クラスの新しいインスタンスを呼び出しました。
スレッド化された初期化ファイル
Thredded.notifiers = [CustomThreddedNotiferController.new]
通知ファイル
class ForumNotification < Noticed::Base
deliver_by :database
param :user
def user
User.find(params[:user])
end
def message
t(".message")
end
def url
root_path
end
end
カスタムコントローラー
class CustomThreddedNotiferController < ApplicationController
def initialize
end
def human_name
'hello'
end
def key
'email'
end
def new_post(post, users)
user = User.find_by(id: users[0])
ForumNotification.with(user: user.id).deliver_later(user)
end
def new_private_post(post, users)
#
end
end