1

表示中のページにチャネルを結び付けたい場合に、Turbolinks で ActionCable を使用するためのベスト プラクティスは何かに興味があります。

もちろん、典型的な例として、コメント付きの記事がある場合、表示されている記事に関連するコメントのみをストリーミングし、別の記事を表示するときに別のチャンネルを購読するにはどうすればよいでしょうか?

turbolinks:loadedJQueryでイベントを使用して遊んでみましたが、それを何にリンクすればよいかわかりません。毎回再登録したいですか?JSをリロードせずにそれはどのように可能ですか?

4

2 に答える 2

5

私は次のようなことをすることでそれを管理しました:

(ライブ配信タスク出力)

$(document).on 'turbolinks:load', -> # use page:change if your on turbolinks < 5
  if document.getElementById("task-output") # if a specific field is found 
    App.task = App.cable.subscriptions.create { channel: "TaskChannel", task_id: task_id },
      received: (data) ->
        # do something with your data
  else if App.task # if I'm not on the page where I want to be connected, unsubscribe and set it to null
    App.task.unsubscribe()
    App.task = null
于 2016-04-10T11:44:52.910 に答える