一尘不染

在Rails应用中重新加载部分

ajax

我想在Rails应用程序的“新”视图中每3秒重新加载部分内容。

我有这个 new.html.erb

<h1>Controller#new</h1>
This is my static content
<%= render partial: 'dynamic' %>
More Static content

如何每3秒重新加载一次此部分内容?我是否必须为此使用兼容的JavaScript?如何通过ujs实现呢?


阅读 263

收藏
2020-07-26

共1个答案

一尘不染

将部分放在div中

   <div class="dynamic"><%= render partial: 'dynamic' %></div>

您可以通过使用像这样的jQuery来做到这一点

       $(document).ready(
         function() {
          setInterval(function() {
            $('.dynamic').load('/controller_name/action_name');
        }, 3000);
    });

现在刷新控制器动作中的部分内容以加载新内容

         def action_name
            render :partial => "directory_name/dynamic"
         end

它肯定会工作.........

2020-07-26