Rails - отправлять оповещение другому пользователю, когда ему назначается новый клиент (без обновления его страницы) - PullRequest
0 голосов
/ 19 марта 2019

У меня есть модель User, использующая devise, и модель 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

1 Ответ

2 голосов
/ 19 марта 2019

Вам необходимо использовать сокет для передачи новой информации соответствующему клиенту.Если вы используете 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...