gpt4 book ai didi

javascript - 在 Ruby on Rails 中使用 rjs 实现 AJAX

转载 作者:行者123 更新时间:2023-11-28 10:22:40 25 4
gpt4 key购买 nike

假设您想使用 rjs 添加一些 ajax,并且您想要异步添加 html 的元素是部分中的部分,这意味着您的主视图在共享文件夹中呈现部分,然后该部分呈现共享文件夹中的另一部分。当您调用 page.insert_html :bottom, :partial =>... 时,如何在 .rjs 文件中解释这一点,以及如何在主视图和两个部分 View 中解释这一点?

最佳答案

page.insert_html不考虑 HTML 的原始源是否是部分的 - 您只需要给它一个 DOM ID(即 <div id="foo"> )即可将其用作插入的引用点。

如果您知道要通过 AJAX 在何处插入 HTML,请使该元素具有 id并将其用作 page.insert_html 的参数

<小时/>

这是一个例子。假设您有一个呈现以下内容的 View :

<div id="div_tag_in_home_page">
<%= render :partial => "shared/container" %>
</div>

还有这些部分:

<!-- app/views/shared/_container.html.erb -->
<div id="container_div">
<%= render :partial => "shared/sub_container" %>
</div>

<!-- app/views/shared/_sub_container.html.erb -->
<div id="sub_container_div">
Some Content That Needs Appending
</div>

渲染后,会给出以下内容:

<div id="div_tag_in_home_page">
<!-- app/views/shared/_container.html.erb -->
<div id="container_div">
<!-- app/views/shared/_sub_container.html.erb -->
<div id="sub_container_div">
Some Content That Needs Appending
</div>
</div>
</div>

将内容添加到 #sub_conainer_div使用名为 app/views/shared/_additional_content.html.erb 的部分,你会使用:

page.insert_html :bottom, 'sub_container_div', :partial => 'shared/additional_content'

关于javascript - 在 Ruby on Rails 中使用 rjs 实现 AJAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5177198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com