如何使用Rails Actioncable更新或刷新表?

时间:2017-11-24 01:52:03

标签: javascript jquery ruby-on-rails coffeescript actioncable

我的操作电缆工作正常,它向我显示数据内容的警报(尽管它显示在所有页面中)。

这是我的情况:具有角色ADMIN的用户可以访问带有显示销售列表的表(html id = tablaventas)的URL(http://localhost:3000/ventas/)。每次用户(角色销售商)在数据库中插入新的销售时,都必须自动刷新此表。

具有角色卖家的用户有一个网址(http://localhost:3000/ventas/new),其中包含向数据库插入新销售额的表单。 Actioncable实现工作正常,但我有两个问题:

1-如何从ventas.coffee刷新表:

//here i am stuck
 received: (data) ->
   alert data.name  //this works ok
   //...AND HERE I WANT TO UPDATE or refresh THE ADMIN TABLE

2-此外,如何仅向管理员特定视图显示警报消息?在这种情况下,只在视图ventas / index.html.erb。

1 个答案:

答案 0 :(得分:0)

  1. 您可以在表格中添加另一行吗?
  2. $('#tablaventas').append("<tr><td>#{data.name}</td>...other tds...</tr>")

    如果您需要刷新整个表格 - 您需要在表格容器元素上调用.html(data.table_html)。这也意味着您必须通过render_to_string('table')或其他东西在控制器中渲染table_html。

    1. 我认为您的问题是您只需要在索引页面上订阅全局订阅动作电缆更新。这个blog post可以帮助您解决这个问题。
    2. 希望以上有所帮助。