スコープ ルートに応じて、ActiveRecord の更新を個別のパーシャルにブロードキャストしたいと考えています。どうすればそれができますか?
例: Post モデルがありhas_many :comments
ます。コメントは更新できますcomment
。次のフォルダーに a の 2 つのパーシャルがあり、個別のテンプレートを使用してそれらを表示します。
- /views/comments/_comment.html.erb
<%= turbo_stream_from comment %>
<%= turbo_frame_tag dom_id(comment) do %>
//one way of displaying the comment
<% end %>
- /views/ビジター/comments/_comment.html.erb
<%= turbo_stream_from comment %>
<%= turbo_frame_tag dom_id(comment) do %>
//another way of displaying the comment
<% end %>
レコードを更新するたびに、ターボ ストリームを使用してブロードキャストされます。
class Comment < ApplicationRecord
broadcasts_to :post
end
問題は、ブロードキャストされた結果が/views/comments/_comment.html.erb
アプリケーション全体で使用されていることです。ビューが特定のスコープの下にあるときにスコープ付きパーシャルを使用してコメントをブロードキャストおよび再レンダリングし、スコープが定義されていないときにスコープなしパーシャルを使用する方法が必要ですか?それは可能ですか?