Rails 投票 jquery

Rails polling with jquery

我有一个索引页面,其中列出了所有用户及其状态(可用或不可用),每个用户都可以随时更改 his/her 状态。我想做的是实时轮询以显示最新状态。我已经完成了 Jquery 轮询功能并且它可以工作(用一个简单的警报尝试它并且它每 10 秒显示一次警报)。现在我不知道要在我的 index.js.erb 文件中包含什么,该代码应该刷新包含用户及其状态的 div。我有这个:

$("#users-container").replaceWith("<%= escape_javascript(render @users) %>")

用新用户替换旧用户和他们的状态,但这是行不通的,页面根本没有改变。

有什么建议吗?

这是我的 index.html.erb

<div id="users-container">
  <%= render @users %>

</div>

_user.html.erb

<p> 
    <%= name_with_status(user.full_name, user.status, user.id) %>
    </p>

其中name_with_status只是一个显示名称、状态的助手。

您可能想尝试使用 .html() 而不是 .replaceWith()。在您的情况下,您想要替换 #users-container 的内容,而不是整个元素本身。

所以你可以这样做:

$("#users-container").html("<%= escape_javascript(render @users) %>")