1

バックエンド データベースから選択したリソースを収集したら、部分的に非同期にレンダリングするジョブを作成しようとしています。フェッチしているデータを取得するのに時間がかかるため、これを行っています。このデータを受信したら表示できるようにしたいと考えています。現在、私のコードは次のようになっています。

class CommentsJob < ApplicationJob
  queue_as: default
  def perform(commenter_company)
   @comments = Comment.where(company: commenter_company)
   @html = CommentsController.render partial: "comments", assigns {comments: @comments }
  end
end

私はすでに _comments.html.erb の部分的なセットアップを行っています。また、キュー アダプターを非同期に設定しているため、このジョブは実際にバックグラウンドで実行され、ページが読み込まれた後に終了します。

html を正常に取得し、それをジョブの @html インスタンス変数に設定できました。

私の質問は、この @html コンテンツを既にレンダリングされたページにどのように取得できますか? これはジョブ内から実行できますか?それとも ActionCable/websockets を使用して実行する必要がありますか? 前もって感謝します!

4

2 に答える 2