簡體   English   中英

Devise,多種型號和應用電纜

[英]Devise, multiple Models and ApplicationCable

我需要為應用程序添加對多個模型(帶有用戶的表)的支持。 總的來說,除了 ApplicationCable 之外,一切都很順利。

該應用程序具有以下代碼:

module ApplicationCable
  class Connection < ActionCable::Connection::Base
    identified_by :current_user

    def connect
      self.current_user = find_verified_user
    end

    protected

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

這段代碼很受歡迎。 它存在於許多來源中。

但在需要多個模型的情況下它不起作用。 由於以下原因,前端的連接被切斷:

未經授權的連接嘗試被拒絕

升級版:

我意識到我可以使用明確的指示:

env['warden'].user(:admin)

但現在我不明白如何為 ApplicationCable 連接自動確定這一點。


你能告訴我如何解決這個問題嗎?

module ApplicationCable
  class Connection < ActionCable::Connection::Base
    identified_by :current_user

    def connect
      self.current_user = find_verified_user
    end

    protected

    def find_verified_user
      if verified_user = env['warden'].user(:admin)
        verified_user
      elsif verified_user = env['warden'].user
        verified_user
      else
        reject_unauthorized_connection
      end
    end
  end
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM