我有一个表单和AJAX调用来加载一些内容。这触发了这个JS:
$('#load_search').fadeIn().html("#{escape_javascript(render :partial => 'products/search')}");
在产品/搜索中我有一个简单的循环:
- @products.each do |product|
%h1= product.name
= image_tag product.image_url
AJAX调用大约需要8秒钟才能加载24个产品!如果我删除了image_tag,则会在300毫秒内完成。为什么需要8秒钟?那是因为资产需要在ajax调用完成之前加载吗?
答案 0 :(得分:0)
尝试查看rails日志中的时间,以及firebug的Net选项卡。这应该让你了解大部分时间是在拍摄图像,还是通过网络传输图像等。
我曾经在这样的ajax请求中渲染部分内容,但现在我正在转向使用主干并在句柄(clientside JS)模板中呈现记录。您可能会发现这种方法对于提高性能以及防止javascript和ruby彼此混淆是有帮助的。