2017-01-17 6 views
3

私は、deviseで認証されたActionCableと基本的なチャットを行いました。Rals 5 ActionClableエラーの説明と拒否された接続

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 # this checks whether a user is authenticated with devise 
     if verified_user = env['warden'].user 
     verified_user 
     else 
     reject_unauthorized_connection 
     end 
    end 
    end 
end 

しかし、ユーザーがオープンチャットを持っており、(ユーザーがログアウトしているので)、それは接続を拒否するとき、私は、ログイン画面を表示する必要があります。

問題は、フロントエンドで切断理由がわかりません。

"許可され​​ていません"のように、パラメータを含む拒否を送信するにはどうすればよいですか?

答えて

0
def find_verified_user # this checks whether a user is authenticated with devise 
    if verified_user = env['warden'].user 
    verified_user 
    else 
    message = "The user is not found. Connection rejected." 

    logger.add_tags 'ActionCable', message # to console 

    self.transmit error: message # this is what you wanted 

    reject_unauthorized_connection 
    end 
end 

も参照してください:How to terminate subscription to an actioncable channel from server?

関連する問題