一旦我从后端数据库收集选定的资源,我希望创建一个异步呈现部分的作业。我这样做是因为我获取的数据需要很长时间才能获取,并且我希望能够在收到数据后显示这些数据。现在我的代码看起来像这样:
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 来做到这一点?提前致谢!