0

基本的にクリックすると、モーダル ウィンドウ内の特定の部分ウィンドウがレンダリングされます (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 は、コレクションを反復処理するフォームです。私はレールのダミーであることを念頭に置いて、パフォーマンスを高速化するためのアイデアはありますか? ところで、開発モードと本番モードの両方で同じです。

4

0 に答える 0