0

のリストStockMovementsと の ajax ピッキング リストがありstock_movementsます。

私のアプリケーションには、 と を使用した ajax 検索がwill_paginateあり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 が更新されていないため、ボタンは非表示になりません。アクションの js 応答を要求する必要があることはわかってStockMovement#indexいますが、そのアクションを呼び出す方法と場所、およびパラメーターを渡す方法は?

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")  %>");
4

1 に答える 1

0
"<%=j render @devolucao %>")

私は考えます: 良くありません。StockMovements フォルダーでカスタム ビューをレンダリングする必要があります。例えば:

<%=j render 'devolcao' %>

このファイルでは、@devolucao でサイクルを作成できます。

しかし、私はあなたのビューのファイルを知りません。

于 2012-06-04T18:34:38.837 に答える