发生 WebSocket 错误:参数数量错误(给定 2,预期 1)

WebSocket error occurred: wrong number of arguments (given 2, expected 1)

我尝试创建与有线服务器的连接并订阅频道,但我收到日志错误:

Started GET "/cable" for 172.20.0.1 at 2017-05-27 08:29:39 +0000
Started GET "/cable/" [WebSocket] for 172.20.0.1 at 2017-05-27 08:29:39 +0000
Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: upgrade, HTTP_UPGRADE: websocket)
WebSocket error occurred: wrong number of arguments (given 2, expected 1)

我的代码:

// order_slots.coffee
jQuery(document).ready ->
  //some jquery code that call create_channel function

create_channel = (order_id) ->
  App.cable.subscriptions.create {
    channel: "OrderSlotsChannel",
    order_id: order_id
  },
    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) ->
      # Data received

具体渠道:

//order_slots_channel
class OrderSlotsChannel < ApplicationCable::Channel
  def subscribed
    stream_from "order_slots_#{params[:order_id]}_channel"
  end

  def unsubscribed; end
end

和 ActionCable 连接:

# Be sure to restart your server when you modify this file. Action Cable runs in a loop that does not support auto reloading.
module ApplicationCable
  class Connection < ActionCable::Connection::Base
    identified_by :current_user

    def connect
      self.current_user = find_verified_user
      logger.add_tags 'ActionCable', current_user.email
    end

    protected

    def find_verified_user
      verified_user = env['warden'].user
      verified_user || reject_unauthorized_connection
    end
  end
end

ActionCable::Channel::Base - 只是空的。我将不胜感激任何帮助。提前致谢

我解决了这个问题。该项目使用 Passenger Phusion 作为应用服务器,5.0.x 版本与 rails 5.1 和 action cable 结合不佳。您最多应更新 5 名乘客。1.x