carrierwave default_url как отобразить в представлениях? - PullRequest
1 голос
/ 05 марта 2012

Carrierwave поддерживает default_url, если изображение не прикреплено,

У меня есть такой набор:

  def default_url
    "/assets/avatars/" + [version_name, "_default.png"].compact.join('_')
  end

Использование вспомогательного метода, например:

  def show_avatar(id)
    @profile = User.find(id).profile rescue nil
    image_tag @profile.assets.first.file_url(:search) rescue nil
  end

Как бы это было реорганизовано, чтобы оно отображало изображение default_url, когда изображение отсутствует?Я не смог найти это, теперь использую спасательный ноль, потому что, если нет прикрепленного изображения, оно вылетит.

Ответы [ 2 ]

2 голосов
/ 05 марта 2012

Я могу ошибаться, но я уверен, что в этом случае вы бы просто сделали

image_tag model.mount.version.url

Если нет версии или файла, то оператор перевозчика использует URL-адрес по умолчанию

0 голосов
/ 24 апреля 2015

Я работал над этим, делая это:

Image.new.file.url(:version)

Где Image - моя модель, где я присоединяю загрузчик к полю file. Надеюсь, это поможет.

...