2

我正在尝试定期刷新屏幕上的 div。div 在我的 index.html.erb 中,看起来像这样

<div id="shared_tasks_div">
<ul>
  <% @canEditTasks.each do |elem| %>
     <div class="draggable">    
     some code to put elem values in <p>
     </div>
  <% end %>
    <% @canView.each do |elem| %>
    <div class="draggable">    
     some code to put elem values in <p>
    </div>
<% end %>
</ul>
</div>

在我的任务控制器中,我添加了以下代码

  def index
    @tasks = current_user.task
    @canEditTask = some query
    @canView = another query
    respond_to do |format|
      format.js { render :div_tasks }
    end
  end

div_tasks.js.erb我在我的 app/views/tasks 中创建了以下 js

$("#shared_tasks_div").html("<%= j(render('index', :canEditTasks=> @canEditTasks)) %>");
$("#shared_tasks_div").html("<%= j(render('index', :canView=> @canView)) %>");

我现在必须发出 a) 我应该把remote: true b) 我从我的索引方法中得到以下错误

ActionController::UnknownFormat
    respond_to do |format|
      format.js { render :div_task }

我确实看到了以下两个帖子并将一些建议集成到我的解决方案中,但它没有解决问题 Rails 4 ajax update div Rails 3 - Update div content with Ajax and jquery (nested resources)

谢谢您的帮助

4

1 回答 1

1

尝试向 index.html.erb 文件添加定期 javascript ajax 调用。javascript 应该包含对任务控制器中 index 方法的 ajax 调用(dataType:脚本将确保 format.js)。

您可以使用此处列出的方法: 如何定期触发 AJAX 请求?

于 2013-10-14T06:31:31.367 回答