0

スコープ ルートに応じて、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アプリケーション全体で使用されていることです。ビューが特定のスコープの下にあるときにスコープ付きパーシャルを使用してコメントをブロードキャストおよび再レンダリングし、スコープが定義されていないときにスコープなしパーシャルを使用する方法が必要ですか?それは可能ですか?

4

1 に答える 1