2011-01-13 38 views
4

我正在使用Rails 3.0.3開發應用程序。無法在rails中轉儲文件錯誤

我在下面的代碼中收到「Can not dump file」錯誤。

if @post.update_attributes params[:post] 
     redirect_to post_path(@post) #<= ERROR HERE 

谷歌搜索後,我加了2條線來解決這個問題。

if @post.update_attributes params[:post] 
     params[:post][:photos_attributes] = nil 
     params[:post][:attachments_attributes] = nil 
     redirect_to post_path(@post) 

現在錯誤消失了。但我不明白爲什麼發生錯誤以及它是如何修復的。我使用active_record作爲會話存儲,並且由於文件無法存儲在數據庫中而導致錯誤。但爲什麼redirect_to嘗試在會話中存儲文件?

感謝。

山姆

+3

+1想知道_why_錯誤消失了! :) – sarnold 2011-01-13 04:38:28

回答

0

我不知道什麼是在photo_attributesattachment_attributes。我的猜測是,他們包含某種文件信息,並保存它們無法正常工作。

也許你可以發佈你的Post模型供我們看?

0

我猜attachment_attributes包含上傳的文件。

上傳的文件以參數形式存儲爲ActionDispatch :: Http :: UploadedFile對象,並且此類型的對象不可串行化,因此出現錯誤。

0

添加:ActiveRecord::SessionStore::Session.serializer = :json到config/application.rb解決了我的問題。

相關問題