Rails Carrierwave if (: medium) .present? - PullRequest
3 голосов
/ 01 января 2012

В настоящее время я пытаюсь переместить пользователей из версии 1 в версию 2 моего приложения.Версия 2 полностью переписана.

Я хотел бы показать версию ТОЛЬКО :medium, если она существует.Если его нет, я бы хотел показать :small.

Как бы я поступил так?

Ответы [ 4 ]

4 голосов
/ 16 декабря 2013

avatar.medium.file.exists? - это тест, который вы ищете.

0 голосов
/ 19 июля 2016

Правильный ответ:

if asset.file.medium.file.exists?
  #show medium version
else
  #show small version
end

, где file = mount_uploader и asset = model

0 голосов
/ 19 мая 2015

Я получил это на работу, протестировав размер, не равный нулю

if avatar.medium.size == 0
0 голосов
/ 28 октября 2012

Это довольно старый вопрос, но вот что я бы сделал

, так как мне действительно нравится draper, я бы создал метод в связанном Decorator, но он также может быть просто классическим вспомогательным методом, таким как

def avatar_for(user)
  avatar = user.avatar
  avatar.medium.url || avatar.small.url
end
...