基本的にクリックすると、モーダル ウィンドウ内の特定の部分ウィンドウがレンダリングされます (Twitter Bootstrap が提供)。しかし、それはランダムに非常に遅いです - 理由や修正方法はありますか? 関連するコード スニペットは次のとおりです。
見る:
<% @utilities.each do |u| %>
<span class="util_click">
<%= link_to u.name, { :controller => :users, :action => :show, :util_id => u.id, :rent_id => rent.id }, :remote => true %>
</span>
<% end %>
....
<div id="partialModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Modal Header</h3>
</div>
<div class="modal-body">
<div id="editUtil"></div>
</div>
<div class="modal-footer">
...
</div>
</div>
Javascript:
$(".util_click").click(function() {
$('#partialModal').modal("show");
});
コントローラーの関連部分:
respond_to do |format|
format.js {
@rent = Rent.find(@current_user.id)
@util_id = params[:util_id]
@rent_id = params[:rent_id]
}
end
show.js.erb:
$("#editUtil").html('<%= escape_javascript(raw render :partial => "utilEdit", :locals => {:util => Utility.find(params[:util_id]), :rent_id => params[:rent_id]} ).html_safe%>');
そして _utilEdit.html.erb は、コレクションを反復処理するフォームです。私はレールのダミーであることを念頭に置いて、パフォーマンスを高速化するためのアイデアはありますか? ところで、開発モードと本番モードの両方で同じです。