знаете ли вы, есть ли способ узнать, было ли загружено изображение?
Я имею в виду, у меня есть класс Foo_Class, и у этого класса может быть прикрепленное изображение, но его присутствие не является необходимым.Есть ли способ узнать, есть ли у определенного экземпляра этого класса изображение или нет?
Спасибо!
Если foo.image? возвращает true, то файл загружен.
foo.image?
Когда вы добавили скрепку к вашей модели, вы добавили ряды, специфичные для скрепки, мои
cover_file_name cover_content_type cover_file_size cover_updated_at
Тогда я проверяю, ноль это или нет
Foo_Class.cover_file_name.nil?
Я думаю, что правильным решением является использование метода file?.
file?
foo.image.file?
http://rdoc.info/github/thoughtbot/paperclip/Paperclip/Attachment#file%3F-instance_method
использование существует?сделает запрос к серверу, чтобы проверить, есть ли файл, который может быть довольно медленным, особенно если он находится на другом сервере или на S3.
с использованием foo.image_file_name.nil?это наверное тоже самое что и файл?под прикрытием, но вы не хотите зависеть от реализации скрепки, которая может когда-нибудь измениться.
Если это в моей модели
has_attached_file :avatar, :styles => {:logo => "230x50>", :card_image => "180x50>"}
Вы можете проверить, загружено ли изображение для пользователя i.e @ user
<%= @user.avatar.exists? %>
Возвращает логическое значение.
Предположим, вы хотите проверить наличие вложения (изображения) для 1-го ряда в модели Foo:
image_present = Foo.first.image?
Возвращает true, если вложение присутствует.