我有一個StockMovements
和一個ajax選取列表stock_movements
的列表。在兩個不同的控制器中呈現動作
我的應用程序有will_paginate
和elasticsearch
的ajax搜索。要添加列表中選擇名單我把下面的代碼在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#創建控制器
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列表隱藏行 「retornar」 按鈕that're已經在linha_devolucao中。我的StockMovement#index操作完成這項工作,但是我如何以及在哪裏重定向到此操作並呈現js響應?
$("#equipments-table").html("<%=j render("equipments") %>");
我有一個叫'devolucaos/_devolucao.html.erb'的部分。 div romaneio很好,但我需要更新包含'retornar'按鈕的div,因此它應該隱藏已經在選取列表中的那些。 –