如何解决Hotwire:如何将广播对象的两个部分渲染到两个不同的页面上?
对 Stimulus 和 Hotwire 比较陌生,想知道,
“有没有办法在两个不同的页面上为同一个广播对象渲染两个不同的部分?
我正在尝试将页面上的对象从一个控制器渲染并广播到具有不同样式的不同控制器的另一个页面。
示例
如果我在第 <%= render @live_room.room.questions %>
页打印 live_room.html.erb
并在 <%= render @room.questions %>
show.html.erb
它们都呈现部分 _question.html.erb
我想根据页面呈现不同的设计。
有没有人遇到过这个问题或知道如何解决这个问题?我很想得到一些见解!
干杯!
解决方法
您可以指定要渲染的部分。例如,在购物车模型更新后,一个替换被广播到徽章_id,另一个被广播到购物车。每个渲染一个独特的部分。
class Cart
...
after_update_commit do
broadcast_replace_to 'badge',partial: 'carts/badge',locals: { cart: self },target: "badge_#{id}"
end
after_update_commit do
broadcast_replace_to 'cart',partial: 'carts/active_cart',locals: { cart: self }
end
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。