前回までのあらすじ
・Railsでイベントの通知をモデリングする
・通知モデルのユニットテストを実装する
Hotwireを使って通知モデルにモデル更新のブロードキャスト機能を実装します。
通知モデルにbroadcasts_refreshesを追加する。
app/models/notification.rb
class Notification < ApplicationRecord
broadcasts_refreshes
showページにturbo_stream_fromを追加する。
app/views/notifications/show.html.erb
<%= turbo_stream_from @notification %>
アプリサーバーを起動する。
bin/rails server
他のページに更新内容が伝わることを確認する。
showページを2つ開く。変更して保存すると、もう一方のページに反映される。
コンソールから更新内容が伝わることも確認する。development環境のデフォルトのアダプターasyncは同一プロセスでのみ機能する。アプリサーバーと同一プロセスになるページ内にウェブコンソールを開いて確認する。
app/views/notifications/show.html.erb
<% console %>
コンソールの変更が画面(ウェブページ)に反映されることを確認する。
Notification.first.update! processed: true
以上です。
▼この記事がいいね!と思ったらブックマークお願いします