如何解决如何定义实例模型在 Rails 6 中的呈现方式
我正在使用 Hotwire 并在 Rails 6.0.3.6 应用程序上设计用户。
class User
after_create_commit { broadcast_append_to 'users' }
end
然后当一个用户被创建时,它会通过他的部分 (users/user),在那里我试图使用 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.
如果从模型中,您尝试渲染他的默认部分 (.to_partial_path),您需要向它传递一些局部变量,例如 user: self
。
我怎么能这样对 Rails 说?
谢谢你的帮助
解决方法
DHH 说:
用于 Turbo 流的部分必须是全局的 引用,因为它们是由 ApplicationRenderer 呈现的,而不是在 特定请求的上下文。
https://discuss.hotwire.dev/t/authentication-and-devise-with-broadcasts/1752/4
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。