Единственная в меру полезная тема, которую я видел по этой теме, находится здесь:
http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/709d97e06b373786
Я думаю, что решение Matchu, вероятно, является правильным с быстрым обзором кода attachment_fu. Мне бы понравилось, если бы Matchu мог поделиться патчем или фрагментом своего измененного save_attachment? метод. Я собираюсь разобраться в этом самостоятельно, так как это стало для меня проблемой, и это, вероятно, будет меньше работы, чем полная замена attachment_fu ...
Обновление
С планом Матчу я придумал короткое (но не элегантное) решение, которое, похоже, сработает после легкого тестирования.
Я изменил 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 (если у кого-то есть лучший способ сделать это, я весь в ушах; я все еще noob ruby / rails ) поэтому я также добавил строку в 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
Надеюсь, что это поможет, и если у кого-нибудь есть более изящный способ справиться с тем, что я там делал, с помощью глобальной переменной, я бы хотел услышать это.