私は、レコードを変更するときにビューにレコードを表示するために2つのテーブルを使用するクエリを使用しています。 "Remote True"をフォームに追加し、コントローラーで "format.Json"のアクションを編集し、更新後にレジストリーをレンダリングしてビューを更新するupdate.js.erbファイルを作成します。私の問題は、レコードがクエリの結果であり、ビューのajaxでクエリの結果を取得しないことです。ajaxを使用してクエリの記録結果を表示
ajaxを使用すると、どのようにクエリ結果を表示できますか?
私のindexアクション:
@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)
これは
<tbody id="container_pedidosliberados">
<%= render @pedidosliberados %><!--carga todos los productos-->
</tbody>
私の部分_pedidoliberado私の見解である:
<tr id="pedidoliberado_<%= pedidoliberado.id %>">
<td class="component_name_body_col"><%=pedidoliberado.TOTAL%></td>
<td class="component_name_body_col">
<%= form_for(pedidoliberado, :method => :put, remote: true, :url => {:controller =>'pedidosliberados', :action => 'update', :id => pedidoliberado.ID}, html: {class: "form-horizontal "}) do |f| %><!--ajax-->
<%= f.hidden_field :STATUS %>
<%= submit_tag "save", class: "btn btn-primary Entregar", data: { disable_with: 'Actualizando' }%>
<% end %>
</td>
</tr>
私のクエリ:
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_<%= @pedidoliberado.id %>").fadeOut(500, function(){
$(this).remove();
$("#container_pedidosliberados").prepend('<%= j render @pedidoliberado %>');
});
$("#notice").html("<%= escape_javascript(render :partial => 'partials/flash' , :locals => { :flash => flash }).html_safe %>");
setTimeout(function(){
$('#notice').fadeIn("slow", function() {
$(this).create();
})
}, 1500);
編集アクションでformat.html行を削除しましたか? –
@VineethSubbaraya回答ありがとうございます。はい、それでもクエリの結果が表示されないレコードが表示されます – luis31
インデックスアクションで検索機能が何をしているのか説明してください。それをそこに置くことを意味しましたか? –