簡體   English   中英

在Ruby on Rails中用RJS實現AJAX

[英]Implementing AJAX with rjs in Ruby on Rails

因此,假設您要使用rjs添加一些ajax,並且要異步添加html的元素是局部中的一個部分,這意味着您的主視圖在共享文件夾中呈現了一個局部,然后該局部在您的共享文件夾。 調用page.insert_html :bottom, :partial =>... ,如何在.rjs文件中對此進行說明page.insert_html :bottom, :partial =>...以及如何在主視圖和兩個page.insert_html :bottom, :partial =>...視圖中對此進行說明?

page.insert_html不會考慮HTML的原始來源是否是部分來源-您只需為其提供DOM ID(即<div id="foo"> )即可用作<div id="foo">的參考點插入。

如果您知道要通過AJAX插入HTML的位置,請使該元素具有id並將其用作page.insert_html的參數。


這是一個例子。 假設您具有一個呈現以下內容的視圖:

<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'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM