我有一个StockMovements
列表和一个stock_movements
的ajax选择列表。
我的应用程序使用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 #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") %>");
答案 0 :(得分:0)
"<%=j render @devolucao %>")
我认为:这不好,你必须在StockMovements文件夹中渲染自定义视图。例如:
<%=j render 'devolcao' %>
在此文件中,您可以使用@devolucao创建周期。
但我不知道你的观点文件。