2009-12-30 69 views
1

我知道這是一個完整的長鏡頭,但我想我會試一試。向更新操作提交非常大的嵌套表單時遇到問題。這個問題是完全隨機的,當它發生時,即使使用相同的數據集,它也不會再發生。Rails複雜的嵌套形式 - 隨機問題

當問題發生時,似乎參數提交回服務器被截斷,我鬆了一半。在過去的三週裏,我一直在嘗試着走到底,沒有運氣。我想知道如果有人對我如何進行調試有一些不同的想法。從我迄今爲止所做的工作中,我可以放心地說,一旦參數處於控制器操作中,它們就會混亂起來。這使我相信,表單本身隨機不會被正確地呈現給瀏覽器(編輯調用)並因此提交返回不正確的參數,或者提交調用導致參數混亂的問題。

有沒有一種方法可以記錄渲染命令發送回瀏覽器的內容,以及在瀏覽器到達服務器之前從瀏覽器提交回來的參數(以查看它是否是它實際上瀏覽器造成這個問題)。

我可以打開任何客戶端工具/ Firefox插件。我試圖在Firefox中使用硒,但我會嘗試和更多的玩。

任何幫助或進一步的問題,真的很感激。

謝謝!

Ryan Lundie

回答

0

使用firebug來查看窗體是否被正確渲染。我懷疑它是。

如果是這樣,你的下一個地方是看你的實際形式多長時間。表單正在執行GET嗎?如果是這樣,那麼你將不得不考慮獲取請求大小的限制。這個限制相當糟糕的記錄,不幸的是......多大的你的表格?

+0

表單正在發送郵件請求。我還在表單上將多部分設置爲true,因爲使用可以選擇使用它上傳文件。我的系統中一直有大約5個用戶,而且這個問題每天最多隻發生一次,所以我不能輕易再現它。有沒有一種方法/插件來總是記錄瀏覽器正在呈現和返回的帖子? 至於形式的大小,它會變化。雖然它相當大。發佈請求是否有限制? – lundie 2009-12-30 15:25:13

+0

已經有整個發佈請求的日誌。取決於你的環境,當然它在'RAILS_ROOT/log/environment.log'中 – rfunduk 2009-12-30 16:34:01

+0

另外,firebug揭示了表單的渲染情況? – rfunduk 2009-12-30 16:34:39

0

首先,我會查看日誌並找到導致錯誤的操作。您應該將所有參數傳遞給日誌中的更新操作。檢查它有一切正常。我沒有聽說任何參數大小的限制。

如果您會發現哪些參數會導致錯誤,那麼您可以嘗試向您的應用程序發出類似的請求。

+0

我不認爲這是一個特定的參數。發生錯誤時,超過一半的參數丟失(根據導軌日誌)。這個問題非常奇怪的部分是我可以做一個完整的數據庫備份。在特定表單上發生錯誤,恢復數據庫並編輯相同的表單,並且不會發生錯誤。我需要做的是將問題縮小到表單的呈現或提交表單的後面。 – lundie 2009-12-30 15:47:56

0

這實際上是Rack和一個多部分表單的問題。 Bug

感謝大家的幫助和建議!