Rails:Ajax:更改Onload

Jay*_*dse 0 ajax ruby-on-rails onload

我有一个for的web布局看起来像这样

<html>
  <head>
  </head>

  <body>
    <div id="posts">
      <div id="post1" class="post" >
         <!--stuff 1-->
      </div>
      <div id="post2" class="post" >
         <!--stuff 1-->
      </div>

      <!-- 96 more posts -->

      <div id="post99" class="post" >
         <!--stuff 1-->
      </div>
    </div>          

  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我希望能够加载并呈现一个空白的页面,然后在页面加载时调用一个函数进入并加载帖子并动态更新页面.

在Rails中,我尝试使用"link_to_remote"来更新所有元素.如果它是ajax请求(request.xhr?),我还调整了posts控制器以呈现帖子集合.它运行良好,速度非常快.但是,单击链接会触发空白div的更新.我希望在加载页面时发生相同的操作,这样我就不必输入链接.

是否有一个Rails Ajax助手或RJS函数或Rails中的东西,我可以用来在页面加载和渲染(没有帖子)后触发加载"帖子"?

(如果推出了putsch,我将只从link_to_remote调用中复制生成的JS代码,并从主体上的onload处理程序调用它).

ale*_*dev 6

当然有,它毕竟是Rails :)

这样的事情会做:

<% javascript_tag do %>
  $(document).ready(function() {
    <%= remote_function(:update => "posts", :url => posts_partial_path) %>
  });
<% end %> 
Run Code Online (Sandbox Code Playgroud)

remote_function将为您提供使用rails ajax helpers时执行的相同javascript.

  • 你如何使用jquery不引人注意地这样做?谢谢! (2认同)