2012-06-04 67 views
0

我有一個StockMovements和一個ajax選取列表stock_movements的列表。在兩個不同的控制器中呈現動作

我的應用程序有will_paginateelasticsearch的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") %>"); 

回答

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

我認爲:這不是很好的,你必須渲染StockMovements文件夾中自定義視圖。例如:

<%=j render 'devolcao' %> 

在此文件中,您可以使用@devolucao創建您的循環。

但我不知道你的觀點的文件。

+0

我有一個叫'devolucaos/_devolucao.html.erb'的部分。 div romaneio很好,但我需要更新包含'retornar'按鈕的div,因此它應該隱藏已經在選取列表中的那些。 –

相關問題