Как отправить уведомление конкретному пользователю с помощью Faye Rails?

Я хочу поддерживать разные соединения с разными пользователями, как это делает Node.js с Socket.IO.


person abhim    schedule 11.10.2013    source источник
comment
Вы смотрели эпизод Faye Railscast? railscasts.com/episodes/260-messaging-with-faye   -  person jcm    schedule 11.10.2013


Ответы (1)


Вы должны посмотреть на этот руководство.

Речь идет об отправке личного сообщения конкретному пользователю. Итак, это почти то же самое.

Для этого вы можете заставить пользователей подписываться на их собственный канал (например, /users/user_id)

client = Faye.Client('http://localhost:9292/faye');
client.subscribe('/users/USER_ID', function (data) { something; });

Затем вам просто нужно отправить данные на канал пользователя.

<% broadcast '/users/USER_ID' %>
  something
<% end %>

Метод широковещания исходит из этого RailsCast, который вы должны посмотреть/прочитать, если у вас нет т уже сделал это еще.

person Simon Ninon    schedule 11.10.2013
comment
Мне нужно отправить уведомление от действия контроллера Rails конкретному пользователю - person abhim; 11.10.2013
comment
Я хочу иметь возможность передавать данные в пользовательский канал из действия контроллера (при получении запроса на получение извне) --- Саймон Нинон? - person abhim; 12.10.2013
comment
Вы должны посмотреть на этот RailsCast (кажется, вы этого не сделали), поскольку я сказал в моем ответе: он узнает, как использовать Faye (распространение данных на канал после запроса на сервер). Затем вы должны заставить пользователя подписаться на их собственный канал. - person Simon Ninon; 12.10.2013
comment
Вместо USER_ID мне нужно заменить его на ‹%current_user.id%›, верно? - person abhim; 12.10.2013
comment
Да: <%= current_user.id %> (не забудьте =). - person Simon Ninon; 12.10.2013
comment
Я пытался это сделать, но безрезультатно, есть ли способ отладить поток. - person abhim; 12.10.2013