2011-02-07 51 views
1

我的團隊試圖追蹤Rails(版本2.3.8)應用程序中的奇怪錯誤。某個視圖呈現包含幾個控件的搜索表單。這些控件呈現在Haml的(版本3.0.18)模板,其內容是從ActiveRecord對象填充像這樣(簡化):選擇標籤偶爾呈現錯誤數據

%form#search 
    = collection_select :product, :id, Product.all, :id, :name 
    = collection_select :product, :vendor_id, Vendor.all, :id, :name 
    ... a few more 

然後每一個現在,在什麼似乎是兩個隨機並且很少見,每個<option>呈現的控件都是隨機數(懷疑是該條目的ruby的#object_id),或者是來自同一表單中不同選擇的值,例如 - 產品名稱選擇使用供應商名稱呈現,反之亦然。我們不能再現這個問題,但已經看到它發生了幾次。

是否有人知道可能會導致此問題的Haml/Rails錯誤,或者有任何想法可以進一步追蹤此錯誤,或獲得有關正在發生的事情的一些信息?謝謝。

+0

您是否嘗試過而不是查詢視圖中的數據庫作爲實例變量傳遞數據? – polarblau 2011-02-07 14:19:43

回答

1

我有類似的問題,但我們沒有使用Haml。相反,我們使用Spring MVC 3.0和JSP。不是很常見,但我們網站的用戶在選擇標籤中獲得隨機值。填充此選擇標籤的列表有7000多條記錄。我猜這是一些與數據大小有關的事情,瀏覽器無法填充確切的值。換句話說,如果要選擇的實際值是第5000個位置,則瀏覽器在達到第5000個位置之前呈現它手中的任何值。這也可能是用於渲染選擇的彈簧標籤的問題。

爲了解決這個問題,我找到了一個解決方法(可能這不是最好的方法)使用java腳本來加載確切的值。

如果你們知道解決方案的確切問題,請讓我知道。謝謝

艾米特:)

0

這聽起來像是一個緩存問題。你是否使用任何東西來緩存模型層,比如cache_money?