我有一个使用devise的User模型和一个Trader模型。我想向用户分配新交易者时向其发送弹出消息或警报。
经理可以将交易者分配给用户,因此分配过程由与接收新交易者的用户不同的用户完成。
如何使经理的“分配”操作向已分配新交易者的特定用户发送警报?他们将登录,但我不希望他们刷新页面
traders_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
答案 0 :(得分:2)
您需要使用套接字将新信息推送到适当的客户端。如果您使用的是Rails 5,则可以使用ActionCable。您需要为用户订阅特定于他们的频道,然后在该频道上发布信息以更新用户。当然,您的前端将需要知道如何处理数据。
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。