2015-06-30 50 views
1

我有一個表單,它使得AJAX調用來加載一些內容。觸發此JS:Rails 4.2.1 - 在AJAX調用上速度很慢的圖像資產

$('#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

5-10 KB每張圖片。 –

回答

0

嘗試在您的rails日誌中查看時間,並在Firebug的Net選項卡中查看。這應該給你一個感覺,大部分時間是在獲取圖像,或通過網絡傳輸它們等。

我曾經在ajax請求中渲染partials,但現在我正在朝着使用骨幹並將記錄呈現在一個句柄(clientside JS)模板中。你可能會發現這種方法對於性能和保持javascript和ruby彼此混淆都很有幫助。

+0

我正在使用Rails控制檯和Chrome開發人員。 Rails控制檯告訴它需要8秒的視圖,我發現這是因爲部分中的image_tag。它仍然沒有解釋爲什麼。 –

+0

我並不是在尋找一種快速渲染的解決方案,但是可以解釋爲什麼它會使用image_tag執行8秒的解決方案。我有一個JS模板的解決方案,其中ajax調用只請求JSON。 –

+0

對於每個產品,JSON響應是否包含product.image_url?產品/搜索中發生的任何其他事情都可以解釋它嗎? – sockmonk

相關問題