我有一个列表StockMovements
和一个 ajax 选择列表stock_movements
。
will_paginate
我的应用程序使用和进行 ajax 搜索elasticsearch
。要将列表添加到拣货列表,我将以下代码放入 StockMovement 列表的每一列:
<%= button_to 'Retornar', linha_devolucaos_path(stock_movement_id: stock_movement.id, page: params[:page]), class: 'btn btn-mini' if !stock_movement.back and !stock_movement.linha_devolucaos.present? %>
它使用该项目的 js 响应更新拣货清单:
$('#romaneio').html("<%=j render @devolucao %>")
在 ajax 中它运行良好,但不会隐藏retornar
按钮,因为该 div 没有更新。我知道我需要请求我的StockMovement#index
操作的 js 响应,但是我如何以及在何处调用该操作以及如何传递参数?
LinhaDevolucao#create Controller
def create
@devolucao = current_devolucao_romaneio
stock_movement = StockMovement.find(params[:stock_movement_id])
@devolucao.add_stock_movement(stock_movement.id)
respond_to do |format|
if @devolucao.save
format.html { redirect_to stock_movements_path(page: params[:page]), notice: 'Linha devolucao was successfully created.' }
format.json { render json: @linha_devolucao, status: :created, location: @linha_devolucao }
format.js
else
format.html { render action: "new" }
format.json { render json: @linha_devolucao.errors, status: :unprocessable_entity }
end
end
end
LinhaDevolucao/create.js
$('#romaneio').html("<%=j render @devolucao %>");
然后我需要更新我当前的 StockMovement 列表以隐藏 linha_devolucao 中已经存在的行的“retornar”按钮。我的 StockMovement#index 操作完成了这项工作,但是我如何以及在何处重定向到此操作并呈现 js 响应?
$("#equipments-table").html("<%=j render("equipments") %>");