Я не могу загрузить сценарий кофе для загрузки с javascripts / channel / chatrooms.coffee
пока загружается javascripts / chatrooms.coffee.
В channel / chatrooms.coffee у меня есть функция receive: (data) с console.log (data), которая не регистрирует полученные данные.
Я следовал руководству по кабелю действий, и оно работало, но я потерял коммиты. Я не помню, чтобы что-то менять.
class MessageRelayJob < ApplicationJob
queue_as :default
def perform(message)
ActionCable.server.broadcast "chatrooms:#{message.chatroom.id}", {
username: message.user.username,
body: GroupmessagesController.render(message),
chatroom_id: message.chatroom.id
}
# Do something later
end
end
App.chatrooms = App.cable.subscriptions.create "ChatroomsChannel",
connected: ->
# Called when the subscription is ready for use on the server
disconnected: ->
# Called when the subscription has been terminated by the server
received: (data) ->
console.log(data)
active_chatroom = $("[data-behavior='messages'][data-chatroom-id='#{data.chatroom_id}']").append("<div><strong>#{data.username}:</strong> #{data.message}</div>")
if active_chatroom.length > 0
active_chatroom.append("<div><strong>#{data.username}:</strong> #{data.body}</div>")
else
$("[data-behavior='chatroom-link'][data-chatroom-id='#{data.chatroom_id}']").css("font-weight", "bold")
# Called when there's incoming data on the websocket for this channel
send_message: (chatroom_id, body) ->
@perform "send_message", {chatroom_id: chatroom_id, body: body}
<div data-behavior='messages' data-chatroom-id='<%= @chatroom.id %>' class=messages style="margin-left: 140px; border-left: 1px black solid; padding-left: 2px;">
<% @chatroom.groupmessages.order(created_at: :desc).limit(100).reverse.each do |groupmessage| %>
<%= render groupmessage %>
<% end %>
</div>
Сервер получает доступ к заданию ретрансляции сообщений, которое передает данные
[ActiveJob] [MessageRelayJob] [dabb113e-516d-49c2-8cbe-2913506ef60d] [ActionCable] Broadcasting to chatrooms:1: {:username=>nil, :body=>"<div><strong>:</strong>hi</div>", :chatroom_id=>1}
[ActiveJob] [MessageRelayJob] [dabb113e-516d-49c2-8cbe-2913506ef60d] Performed MessageRelayJob (Job ID: dabb113e-516d-49c2-8cbe-2913506ef60d) from Async(default) in 47.01ms