Как определить способ рендеринга модели экземпляра в Rails 6

Я использую Hotwire и разрабатываю приложение User on a Rails 6.0.3.6.

Я добавляю эту трансляцию для пользователей

      class User    
  after_create_commit { broadcast_append_to 'users' }
end

Затем, когда пользователь создается, он проходит через его часть ( пользователи / пользователь ), где я пытаюсь использовать current_user Придумайте помощника.

Но Rails выдает эту ошибку:

      Devise::MissingWarden in Players::Registrations#update
Devise could not find the `Warden::Proxy` instance on your request environment.
Make sure that your application is loading Devise and Warden as expected and that the `Warden::Manager` middleware is present in your middleware stack.

Возможно, решение состоит в том, чтобы сообщить Rails следующее:

Если из модели вы пытаетесь отобразить его частичный путь по умолчанию (.to_partial_path), вам необходимо передать ему некоторые локальные переменные, например user: self.

Как я мог сказать это Rails?

Спасибо за помощь

1 ответ

DHH сказал:

Части, используемые для турбо-потоковой передачи, не должны иметь глобальных ссылок, поскольку они отображаются ApplicationRenderer, а не в контексте конкретного запроса.

https://discuss.hotwire.dev/t/authentication-and-devise-with-broadcasts/1752/4

Другие вопросы по тегам