ruby-on-rails – Rails 5 ActionCable错误描述和拒绝连接

发布时间:2020-09-16 发布网站:编程之家
编程之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails 5 ActionCable错误描述和拒绝连接编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我与使用devise进行身份验证的ActionCable进行了基本聊天.

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

但是当用户打开聊天并拒绝连接时(因为用户已经注销),我需要显示登录屏幕.

问题是在前端我无法找到断开连接的原因.

如何发送带有参数的拒绝,例如“未经授权”?

解决方法

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?

总结

以上是编程之家为你收集整理的ruby-on-rails – Rails 5 ActionCable错误描述和拒绝连接全部内容,希望文章能够帮你解决ruby-on-rails – Rails 5 ActionCable错误描述和拒绝连接所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入编程之家官方QQ群:1065694478
编程之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ”
精选程序员所需精品干货内容!