3

SessionsHelperで定義されているcurrent_userメソッドにアクセスしたいと考えています。ApplicationCable Connection クラスに含める、または要求するにはどうすればよいですか?

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

    def connect
      if current_user
        self.current_user = current_user  
        logger.add_tags current_user.name
      end
    end
  end
end

私にくれます

There was an exception - NoMethodError(undefined method `name' for nil:NilClass)

ApplicationController に相当します。channels/application_cable/connection.rb に SessionHelperを含めました。

module ApplicationCable
  class Connection < ActionCable::Connection::Base
    include SessionsHelper
    identified_by :current_user
    # (..)
  end
end

しかし、うまくいきません。

4

1 に答える 1

4

公式ドキュメントのメモにあるように、ケーブルはセッションにアクセスできません。メモで引用されているこの記事では、Cookie を使用して認証を管理する方法を見つけることができます。

于 2016-04-29T21:10:35.547 に答える