我正在使用涉及两个表的查询来显示视图中的记录,当修改该记录时,我通过向表单添加“Remote True”并添加到表单中来使用ajax在控制器中编辑动作“format.Json”并创建一个update.js.erb文件,在该文件中,我在更新显示更新视图后渲染注册表。我的问题是,记录是查询的结果,并且在视图中使用ajax呈现它时,它不会执行查询的结果。使用ajax显示查询结果
用ajax怎么可以呈现查询结果?
我的索引行动:
@search_liberados = Pedidoliberado.proceso_pedidos_lib.search(search_params)
@search_liberados.sorts = 'Pza desc' if @search_liberados.sorts.empty?
@pedidosliberados = @search_liberados.result().page(params[:pedidosliberados]).per(15)
这是我的看法
我的部分_pedidoliberado:
:put, remote: true, :url => {:controller =>'pedidosliberados', :action => 'update', :id => pedidoliberado.ID}, html: {class: "form-horizontal "}) do |f| %>
我的查询:
def self.proceso_pedidos_lib
query = select("[pedidosliberados].PEDIDO AS Pedido, SUM([detalle].IMPORTE) AS IMPORTE, SUM([detalle].IVA) AS IVA, SUM([detalle].IMPORTE) + SUM([detalle].IVA) AS TOTAL")
.joins('inner join detalle ON pedidosliberados.PEDIDO = detalle.PEDIDO ')
query
end
我的编辑操作:
def update
respond_to do |format|
if @pedidoliberado.update(pedidoliberado_params)
format.html { redirect_to @pedidoliberado, notice: 'Pedidoliberado was successfully updated.' }
format.json { render :show, status: :ok, location: @pedidoliberado }
format.js {flash.now[:notice] = 'saved.'} #ajax
else
format.html { render :edit }
format.json { render json: @pedidoliberado.errors, status: :unprocessable_entity }
format.js {flash.now[:alert] = 'Error.'} #ajax
end
end
end
我update.js.erb:
$("#pedidoliberado_").fadeOut(500, function(){
$(this).remove();
$("#container_pedidosliberados").prepend('');
});
$("#notice").html(" 'partials/flash' , :locals => { :flash => flash }).html_safe %>");
setTimeout(function(){
$('#notice').fadeIn("slow", function() {
$(this).create();
})
}, 1500);
2017-04-18
luis31
+0
您是否尝试删除编辑操作中的format.html行? –
+0
@VineethSubbaraya谢谢你的回答,是的,我做过了,但它仍然显示没有查询结果的记录 –
+0
你能解释一下索引操作中搜索功能的作用吗?你的意思是把它放在那里? –