Index.html.erb具有一种形式和一张表
我使用Ajax使表单提交而无需重定向

<%= form_for approval,remote: true do |f| %>
  <%= f.check_box :pass %>
  <%= f.submit%>
<% end %>


但是我也希望该表可以在我从下面提交而不刷新的情况下立即更新。

<% @approval.each do |approval| %>
<td><%= approval.progress %></td>
<% end %>


控制者

class ApprovalController < ApplicationController
    def index
        @approval = Approval.where(user_id: id)
    end

    def update
       @approval.update_attributes(app_params)
       redirect_to approvals_path
    end
end


如何达到这个目标?

最佳答案

创建一个create.js并使用<td>将表数据create.js附加到表中

rovings_controller.rb

class ApprovalController < ApplicationController
  def create
    @approval = Approval.new(params[:approval])
    @approval.save
    respond_to do |format|
      format.js
    end
  end
end


create.js.erb

<% if @approval.valid? %>
  $('#wrapper').append("<td><%= @approval.progress %></td>")
<% end %>


注意:#wrapper是循环的包装器

09-19 01:12