gpt4 book ai didi

ruby-on-rails - 在 Ruby on Rails 中使用 ActionCable 更新多个 div 的最佳实践是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 08:06:42 27 4
gpt4 key购买 nike

我有一个 Ruby on Rails 站点。其中一个索引页有一个包含多行的表格。我还有一个后台作业,它对每一行执行某些操作,每行大约需要 5-10 秒。

当后台作业中的处理完成时,我想将每一行的状态从“正在处理...”更新为“完成”。

我曾考虑使用 Action Cable 来进行更新,但到目前为止我只使用 Action Cable 来更新页面上的一个元素,而不是多个元素。

我想知道设置我的代码以更新每行状态的正确方法是什么。我必须为每一行单独打开一个 channel 吗?

最佳答案

当然可以。而且您不必为每一行打开 channel 。只需使用状态已更改的作业 ID 和表中具有相同 ID 的对应行。

ActionCable.server.broadcast "job_status_update", job_id: 'xxxxx', status: 'complete'

.html

<table>
<% jobs.each do |job|%>
<tr>
<td id="<%= job_id %>">
<%= job.status %>
</td>
</tr>
<% end %>
</table>

.咖啡

App.chatChannel = App.cable.subscriptions.create { channel: "JobChannel" },
received: (data) ->
$(data.job_id).innerText(data.status)

关于ruby-on-rails - 在 Ruby on Rails 中使用 ActionCable 更新多个 div 的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53929219/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com