Dlaczego nie mogę odzyskać numeru current_user
w swoim kanale lub w jaki sposób mogę pobrać current_user
?Jak uzyskać current_user w aplikacji ActionCable rails-5-api?
Co używam?
- Rails 5.0.1 --api (I nie mają żadnych widoków NOR użyciu kawy)
- używam reagować-natywna aplikacja do testowania tego (działa dobrze bez zezwolenia)
- nie używam opracować dla auth (używam JWT zamiast korzystania Knock, więc nie ma ciasteczka)
Próbuje current_user
wewnątrz mojego ActionCable kanału w sposób opisany w rubydoc.info
Kod wygląda
class MessageChannel < ApplicationCable::Channel
identified_by :current_user
def subscribed
stream_from 'message_' + find_current_user_privileges
end
def unsubscribed
# Any cleanup needed when channel is unsubscribed
end
protected
def find_current_user_privileges
if current_user.has_role? :admin
'admin'
else
'user_' + current_user.id
end
end
end
i uruchomienie go, otrzymuję ten błąd:
[NoMethodError - undefined method `identified_by' for MessageChannel:Class]
i gdybym usuń identified_by :current_user
, otrzymuję
[NameError - undefined local variable or method `current_user' for #<MessageChannel:0x7ace398>]
jak to może być odpowiedź? albo mówi o brudnym haku, który bóg wie, co to jest, albo link repo? –