有沒有辦法來終止訂閱到特定頻道從服務器端(控制器)任何特定的消費,這樣在我的咖啡腳本文件斷開的回調可以調用?如何終止從服務器對actioncable頻道的訂閱?
4
A
回答
0
你可以做這樣的事情。
class YourChannel < ApplicationCable::Channel
#your code
def your_custom_action
if something
reject_subscription
end
end
end
0
class ChatChannel < ApplicationCable::Channel
def subscribed
@room = Chat::Room[params[:room_number]]
reject unless current_user.can_access?(@room)
end
end
在致電reject
你也可以告知拒絕的理由是用戶:
class ChatChannel < ApplicationCable::Channel
def subscribed
if params["answerer"]
answerer = params["answerer"]
answerer_user = User.find_by email: answerer
if answerer_user
stream_from "chat_#{answerer_user}_channel"
else
connection.transmit identifier: params, error: "The user #{answerer} not found."
# http://api.rubyonrails.org/classes/ActionCable/Channel/Base.html#class-ActionCable::Channel::Base-label-Rejecting+subscription+requests
reject
end
else
connection.transmit identifier: params, error: "No params specified."
# http://api.rubyonrails.org/classes/ActionCable/Channel/Base.html#class-ActionCable::Channel::Base-label-Rejecting+subscription+requests
reject
end
end
end
相關問題
- 1. 如何在App.cable.subscriptions.remove中刪除Rails 5中的actioncable頻道訂閱?
- 2. ActionCable頻道訂閱不起作用,因爲頻道方法未執行
- 3. ActionCable沒有僅在頻道中調用#訂閱註冊連接
- 4. ActionCable頻道訂閱,當我在Chrome控制檯
- 5. 如何知道頻道何時訂閱/取消訂閱socket.io
- 6. 訂閱的訂閱Skus - 許可頻道
- 7. SocketIO4Net.Client訂閱頻道
- 8. 取消訂閱頻道,仍在頻道
- 9. 如何讓SignalR訂閱Redis頻道?
- 10. Cometd如何動態訂閱頻道?
- 11. 如何訂閱所有可用頻道?
- 12. 如何訂閱Pubnub頻道異步?
- 13. Private_pub:如何取消訂閱頻道
- 14. 如何:通過Paymill取消訂閱後終止訂閱
- 15. 訂閱YouTube頻道按鈕
- 16. Socket.IO訂閱多個頻道
- 17. Youtube頻道訂閱人數
- 18. YouTube頻道訂閱Android
- 19. 在條件訂閱頻道
- 20. ActionCable:如何使用動態頻道
- 21. 如何做服務器到服務器發佈/訂閱?
- 22. Backendless - 我應該訂閱服務頻道嗎?
- 23. 如何在C#中創建終端服務服務器添加(虛擬頻道)#
- 24. Rails Actioncable - 訂閱的正確位置?
- 25. Kotlin:如何從RxJava訂閱服務器繼承
- 26. Redis發佈/訂閱:查看目前訂閱的頻道
- 27. 如何獲取YouTube頻道的you-tube訂閱者訂閱列表?
- 28. ActionCable「訂閱」方法沒有被調用
- 29. 列出YouTube頻道的大量訂閱
- 30. 要訂閱我的YouTube頻道
我很好奇這一點。我決定向客戶端發送「斷開連接」消息,客戶端在收到該消息後進行訂閱終止。 –