javascript - 如何轻松地为 ActionCable 发送 DOM 元素?

标签 javascript ruby-on-rails actioncable

我不确定我是否只是想在这里做一些疯狂的事情,也许我只需要指出正确的方向。我有一个元素列表,带有勾选框。我需要两个人知道(面试情况)对方是否勾选了一个方框。 ActionCable 似乎非常适合这个。

一切都已设置好,actioncable-wise,但我需要将需要勾选的确切元素发送到 actioncable,以便它可以在其他人的前端勾选它。我曾尝试发送 DOM 元素,但它被序列化为 JSON,我无法在另一端将其改回(或者根本不知道如何使用它)。

到目前为止,下面是我的代码。第一个 box.html 是在表单上勾选您自己的框。然后在第一个 preventDefault() 之后,我尝试将相同的框元素发送到 actioncable 以在其他人的前端勾选它。

  $('.btn-group-vertical').each(function(){
    var $this = $(this);
    var success = $this.find('.applicant-success')
    var failure = $this.find('.applicant-failure')
    var box = $this.parent().next().find('.int_success');
    success.on('click', function(e) {
      box.html("<img class='interview-img3' src='/images/tick.png'>");
      e.preventDefault();
      App.room.ping(box);
    });
});

最佳答案

DOM 元素在连接的一侧是页面文档的本地元素。您需要引入一些唯一的 ID,这将在所有相关系统中有效。 它可能是来自相应数据库记录的 id,一些自然键,甚至是 SecureRandom.hex (但在这种情况下,您必须确保两个相关用户都将获得相同的 ID)

例如:<div class='int_success' data-id='<%= applicant.id %>'>

App.room.ping(box.data('id'))

关于javascript - 如何轻松地为 ActionCable 发送 DOM 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55574878/

相关文章:

ruby-on-rails - Rails Action 电缆特定消费者

javascript - 在使用 jQuery .animate() + ie8 兼容性创建交叉渐变图像库时遇到问题

ruby-on-rails - Rails 4 - 由于 :has_many association 无法修改关联

ruby-on-rails - 如何在 Ruby on Rails 中调整 <%= form_for %> 表单的输入大小

ruby-on-rails - Ruby 服务器端 Websocket 客户端

ruby-on-rails - 将 ActionCable 连接到不同的主机

javascript - 如何将 API 响应存储在内存中,这样我就不必在每次加载组件时都进行 http 调用

Javascript 获取 JSON 数组

javascript - 如何避免使用 p 标签换行?

ruby-on-rails - Pengwynn 领英 Gem : How to follow a company