Рельсы 4 — NoMethodError

Я использую драгоценные камни PaperClip, AWS и s3_direct_upload для загрузки простых изображений. Я следую этому руководству здесь: http://blog.littleblimp.com/post/53942611764/direct-uploads-to-s3-with-rails-paperclip-and

Файл успешно загружен на S3, но во время постобработки я получаю следующую ошибку:

  Completed 500 Internal Server Error in 973ms

  NoMethodError (undefined method `upload_file_name=' for #<Choice:0x007f9ea60e02d0>):
   app/models/choice.rb:60:in `set_upload_attributes'
   app/controllers/choices_controller.rb:24:in `create'

Вот как выглядит моя модель ("Выбор"), где должно быть определено upload_file_name: https://gist.github.com/dodinas/7237377

Любые идеи о том, что я делаю неправильно здесь? Большое спасибо!


person Dodinas    schedule 30.10.2013    source источник
comment
Ваш код выглядит красиво и чисто, хороший стиль. Возможно, вы не выполнили миграцию в производственной среде или не перезапустили сервер после этого, чтобы принять изменения в столбцах.   -  person Thomas Klemm    schedule 30.10.2013


Ответы (1)


Вы выполнили свои миграции. Вы получите эту ошибку, если столбец не существует в таблице базы данных.

person cpjolicoeur    schedule 30.10.2013
comment
Оказывается, в моем коде использовался неправильный метод, например, строка 60 должна была быть self.picture_file_name НЕ self.upload_filename. Ваш пост заставил меня изучить названия столбцов. Спасибо. - person Dodinas; 06.11.2013