ActionCable聊天,JS console.log不起作用

时间:2017-04-04 07:01:50

标签: javascript ruby-on-rails actioncable

我正在使用ActionCable进行聊天。我想拥有普通的公共房间,私人房间和直接信息(像Slack这样的东西)。

公共房间和DM正在运作。我也可以创建私人房间并添加用户。但我想通过某种方式通知用户,他被添加到私人房间。现在,用户需要刷新他添加的新房间的页面,以显示在他的聊天列表中。

当用户被其他用户添加时,我开始慢慢抓住这个时刻,我想把一些东西写到控制台并链接到这个新房间,但它不起作用。 "聊天室不活跃"显示当有人在房间内写一些用户所属的内容时,但在这种特定情况下 - 被添加到新创建的房间 - 它根本不显示,与链接相同。

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) ->
    active_chatroom = $("[data-behavior='messages'][data-chatroom-id='#{data.chatroom.id}']")
    if active_chatroom.length > 0
      console.log 'chatroom is active"
      active_chatroom.append("<div class='message'>
      <a href='' class='message_profile-pic'></a>
      <a href='' class='message_username'><strong>#{data.email}</strong></a>
      <span class='message_star'></span>
      <span class='message_content'>
      #{data.body}
      </span>
      </div>")
      debugger
    else

      console.log 'chatroom isnt active'

      $("[data-behavior='chatroom-link'][data-chatroom-id='#{data.chatroom.id}']").css("font-weight", "bold")
      chatroom_id = data.chatroom.id
      $('tbody').append("<tr><td><a href='/chatrooms/#{data.chatroom.id}'>Name</a></td></tr>")
    $messages = $('#messages')
    $messages.scrollTop $messages.prop('scrollHeight')

  speak: (chatroom_id, message) ->
    @perform 'speak', {chatroom_id: chatroom_id, body: message}

0 个答案:

没有答案