2013-06-24 3 views
-1

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

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

<%= 
    if File.exist?(user.avatar.url) 
     image_tag user.avatar.url(:large) 
    else 
     image_tag "default-avatar.png" 
    end 
%> 

но он не показывает изображение по умолчанию.

Я положил default-avatar.png в app/assets/images/. Что я делаю неправильно?

EDIT

Я следовал инструкции oldergod упоминается в комментариях, но все же загруженные аватары не отображаются.

+0

'image_tag" default-avatar.png "' – oldergod

ответ

1

Я, наконец, положить его на работу, используя user.avatar? так:

<%= 
    if user.avatar? 
     image_tag user.avatar.url(:large) 
    else 
     image_tag "default-avatar.png" 
    end 
%> 

Я думаю, что проблема в том, что File.exist? нужен путь, а не URL или что-то.

+0

['File.exist?'] (Http://ruby-doc.org/core-2.0/File.html#method-c-exist-3F) является метод Ruby OS-level, а не команда Rails. Он не знает URL-адресов, только пути к файлам. –