唯一我已經看到了這個話題比較有用的線程是在這裏:
http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/709d97e06b373786
我覺得Matchu的解決方案可能是正確的與attachment_fu代碼的快速審查。如果可以分享補丁或修改後的save_attachment片段,我會喜歡它嗎?方法。我即將挖成這個我自己,因爲這已經成爲我的問題,它可能會比完全取代attachment_fu工作量少...
更新
隨着Matchu的輪廓,我想出了一個簡短的(如果不夠優雅的)解決方案,似乎在輕度測試後就可以工作。
我修改了save_attachment?在attachment_fu/attachment_fu.rb中:
def save_attachment?
return false unless (thumbnail || !full_filename || @active_upload) #added
File.file?(temp_path.to_s)
end
...檢查條件是否正確。我無法想出一個優雅的方式來判斷數據是否已經傳遞到uploaded_data = setter方法(如果有人有更好的方法來做到這一點,我都耳熟能詳;我仍然是一個ruby/rails noob ),所以我還添加了一行到uploaded_data =設置全局變量@active_upload:
def uploaded_data=(file_data)
return nil if file_data.nil? || file_data.size == 0
self.content_type = file_data.content_type
self.filename = file_data.original_filename if respond_to?(:filename)
@active_upload=true # added
if file_data.is_a?(StringIO)
file_data.rewind
self.temp_data = file_data.read
else
self.temp_path = file_data
end
end
希望幫助,如果任何人有一個更優雅的方式來處理我與全局變量確實存在,我d愛聽到它。
這對我來說似乎很陌生。你有沒有在AttachmentFu開發者郵件列表上發佈它?獲得一個「權威」的理由可能會有助於將該行爲發回SO社區,或者如果它是不理想的行爲,則可以提供補丁。 – 2009-05-29 04:35:02