删除turbolinks会破坏Actioncable聊天室

时间:2018-04-09 15:58:35

标签: ruby-on-rails ruby-on-rails-5

我现在正试图摆脱Turbolinks,它让我的JS混乱了。

虽然它打破了我的聊天室咖啡脚本代码。

(我对JS知之甚少,甚至更少咖啡)

这是我的咖啡:

App.conversationsdevis = App.cable.subscriptions.create "ConversationsdevisChannel",
  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) ->
    $('#cellmessagesde'+data.cellid).append '<div class="'+data.auteur+'">'+'<span>'+data.message+'</span>'+'</div>'

$(document).on 'turbolinks:load', ->
  submit_message()

submit_message = () ->
  $('.sendmessageinputtext').on 'keydown', (event) ->
    if event.keyCode is 13
      $('input').click()
      event.target.value = ""
      event.preventDefault()

我认为只是因为这个位$(document).on 'turbolinks:load'注入聊天消息有没有办法注入另一个咖啡条件而不是Turbolinks加载?

1 个答案:

答案 0 :(得分:1)

'turbolinks:load'是一个turbolinks事件,当文档在初始页面加载时已准备好或者turbolinks完成替换文档内容时,由turbolinks触发。

你想要的是使用jQuery ready函数来保证文档被完全解析并准备好被操作。

$.ready ->
  submit_message()