javascript - Rails - 当其他用户被分配新客户端时向他们发送警报(无需刷新其页面)

标签 javascript ruby-on-rails

我有一个使用设备的用户模型和一个交易者模型。我想在用户被分配新交易者时向他们发送弹出消息或警报。

经理可以将交易者分配给用户,以便分配过程由与接收新交易者的用户不同的用户完成。

如何让经理的“分配”操作向已分配新交易者的特定用户发送提醒?他们将登录,但我不希望他们必须刷新页面

Trader_controller.rb 中的分配方法

if @trader.save
  // Send alert to user if @trader.user == current_user 
  flash[:notice] = "Successfully created trader." // flash message for manager
  redirect_to traders_path
  return
else
  render :new
  return
end

最佳答案

您需要使用套接字将新信息推送到适当的客户端。如果您使用的是 Rails 5,则可以使用 ActionCable。您需要让用户订阅特定于他们的 channel ,然后在该 channel 上发布信息以更新用户。当然,您的前端需要知道如何处理数据。

https://guides.rubyonrails.org/action_cable_overview.html#client-server-interactions-subscriptions

如果您使用的是旧版本的 Rails,请查看这篇文章:

https://medium.freecodecamp.org/implementing-web-sockets-in-a-rails-4-fb45696f8d8c

关于javascript - Rails - 当其他用户被分配新客户端时向他们发送警报(无需刷新其页面),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55236920/

相关文章:

python - 将数组作为命令行参数传递给 python 脚本

ruby-on-rails - 为什么在将 rails 从 3.1.0 升级到 3.2.0 后我的测试速度很慢?

php - 关于将 php 变量传递给 javascript

javascript - 传入不存在或未定义的函数参数?

javascript - Mobx 存储未注入(inject)

javascript - 递归对象数组以附加属性子项计数

ruby-on-rails - 从查询中保存新对象

javascript - 如何自动滚动相关的 html 表格

jquery - 如何在 Rails/jQuery 中使用 gon 包含关联对象

android - 如何在安卓客户端上使用doorkeeper?