首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hotwire不使用项目更新列表

Hotwire不使用项目更新列表
EN

Stack Overflow用户
提问于 2021-09-20 06:07:59
回答 1查看 420关注 0票数 0

我在我的Rails应用程序中设置了Hotwire,但它不会用项目更新索引视图。我有一个简单的项目视图:

代码语言:javascript
复制
<div>
  <ul role="list" class="mt-1 grid grid-cols-1 gap-1">
    <%= turbo_stream_from "projects" %>
    <%= turbo_frame_tag "projects" do %>
      <%= render @projects %>
    <% end %>
  </ul>
</div>

有一个projects/_project.html.erb partial,它只显示了带有加速帧的单个项目:

代码语言:javascript
复制
<%= turbo_frame_tag dom_id(project) do %>
  <p><%= project.name %></p>
  <p><%= project.status %></p>
<% end %>

project模型中,我添加了流:

代码语言:javascript
复制
after_create_commit { broadcast_append_to 'projects' }
after_update_commit { broadcast_replace_to 'projects' }
after_destroy_commit { broadcast_remove_to 'projects' }

现在,当我在控制台中添加一个项目时,我看到它正在广播:

代码语言:javascript
复制
[ActionCable] Broadcasting to projects: "<turbo-stream action=\"append\" target=\"projects\"><template>  <turbo-frame id=\"project_9\">\n    <li ... </li>\n</turbo-frame></template></turbo-stream>"

但在浏览器的视图中,不会添加项目。只有在浏览器页面刷新后,才会显示项目。

看起来广播本身很好,但Rails不知道将新项目附加到哪里。

怎么啦?

EN

回答 1

Stack Overflow用户

发布于 2021-09-20 13:10:15

结果一切正常,但我忘了正确设置ActionCable。在cable.yml中添加Redis之后,一切都很正常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69249758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档