На стороне сервера, в файле js.erb, вам необходимо передать сообщение на канал. т.е.
<% broadcast "/messages/new" do %>
$("#chat").append("<%= escape_javascript render(@message) %>");
<% end %>
Для трансляции сообщений/данных с контроллеров. т.е.
def create
respond_to do |format|
format.json do
broadcast "channel" do
@message.to_json
end
end
end
end
На стороне клиента вы должны включить Javascript Фей в макете или шаблона и придется подписаться на канал. т.е.
<%= javascript_include_tag :defaults, "http://localhost:9292/faye.js" %>
и контейнер для хранения в макете или шаблоне. т.е.
<ul id="chat">
<%= render @messages %>
</ul>
и Подписаться на канал через javascript. т.е.
$(function() {
var faye = new Faye.Client('http://localhost:9292/faye');
faye.subscribe("/messages/new", function(data) {
eval(data);
});
});
ссылка - http://railscasts.com/episodes/260-messaging-with-faye
Я не хочу, чтобы отобразить данные. Моя цель - только нажать ее клиенту. – mike927
В этом случае вы можете делать сообщение «broadcast» на стороне сервера в любом файле js.erb или в действии контроллера. –
Да, я хотел бы сделать это в приложении rails. Не могли бы вы привести мне такую трансляцию в рельсах? – mike927