モデル更新のブロードキャストを確認する

前回までのあらすじ

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

以上です。



▼この記事がいいね!と思ったらブックマークお願いします