2017-05-27 6 views
1

私はケーブルサーバへの接続を作成し、チャネルにサブスクライブしようとするが、私は、ログにエラーが発生します。のWebSocketのエラーが発生しました:引数の数が間違って(2を与えられたが、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 - は空です。私はどんな助けにも感謝します。事前に感謝します

+0

は、あなたのこのコードチェックインした5.1.xのために乗客を更新する必要があります: 'create_channel =(ORDER_ID)を - > App.cable.subscriptions.createは' { チャネル: "OrderSlotsChannel"、 ORDER_IDは をORDER_ID} 私はそれがただ1つのパラメータ、すなわちチャンネル名、すなわち "order_slots _#{order_id} _channel" –

答えて

2

私はこの問題を解決しました。このプロジェクトでは、Passenger Phusionをアプリケーションサーバーとして使用し、5.0.xバージョンはレール5.1およびアクションケーブルと悪い組み合わせになっていました。あなたは

関連する問題