Как определить способ рендеринга модели экземпляра в 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