Обработка загрузки файлов в Rails 3 - PullRequest
2 голосов
/ 07 сентября 2010

У меня был рабочий код для Rails 2 для обработки загрузки файлов, который больше не работает с Rails 3. Код:

# Handling file uploads
def file=(file_data)
  unless file_data.blank?
    @file_data = file_data
    self.filename = file_data.original_filename
    self.size_before = file_data.size
  end
end

Теперь Rails 3 не нравится, жалуется:

undefined method `original_filename' for "MyFile.Ext":String

Какие-либо решения, не связанные с использованием обработчика вложенных файлов (Paperclip и т. Д.)?

Ответы [ 2 ]

1 голос
/ 06 октября 2010

Проблема заключалась в том, что форма не была составной.

0 голосов
/ 07 сентября 2010

Очевидно, что file_data - это другой тип, чем в вашей старой среде.Здесь это String (которая не отвечает на 'original_filename'), но в вашем приложении на Rails 2 это мог бы быть StringIO.

Попробуйте выяснить, как rails 3 обрабатывает двоичные данные при публикации формы, посмотрев впротоколы для параметров и / или отладки и исследования ввода в действии принимающего контроллера.

Предоставьте больше контекста для более точных ответов; -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...