Я использую гем 'paperclip' для Ruby on Rails 3, и я хотел бы обработать пользовательскую проверку присутствия при таком подходе: "если значение пути к файлу (строка типа" /Users/Desktop/image.gif
)"or" C:/Users/Desktop/image.gif
") не введено в поле" file_field ", выдает ошибку для этого поля".
Я думаю, что у меня проблема с этим, потому что RoR обрабатывает 'file_field' по-другому, чем другие поля.
Замечание : я не хочу использовать 'validates_attachment_presence'метод присутствует в «скрепке».
Это хороший подход, чтобы делать то, что я хотел бы?Если да, как это сделать?
Я попробовал в своем контроллере код:
if params[:user][:avatar].blank?
# I also used
# - 'nil?' instead of 'blank'
# - !params[:user][:avatar]
@user.errors.add( :avatar, "can not be blank" )
end
но, если я попытаюсь отправить форму спустой файл (значение пути nil / blank), я получаю
NoMethodError
У вас есть объект nil, когда вы этого не ожидали!
Возможно, вы ожидали экземплярActiveRecord :: Base.
Ошибка при оценке nil. []