У меня есть модель - Post
- у вас могут быть изображения & файлы, загруженные в них. Два разных пользователя в Carrierwave.Как проверить, есть ли у модели фотография с Carrierwave?
Что я хочу сделать, выполните простую проверку наличия фотографии на объекте, и если она обнаружена, я покажу тег изображения. Но если это не так, то это ничего не показывает.
Я попытался это:
<% if post.photo %>
<%= image_tag post.photo, size: "52", :class => 'entry-avatar' %>
<% end %>
Но это не работает, он всегда показывает это:
<img class="entry-avatar" height="52" src width="52">
Когда это не пустой, он добавляет путь к файлу, правильно, чтобы атрибут src
.
Если я пытаюсь проверить photo.nil?
он не работает, даже если кажется, что он должен:
> a
=> #<Post id: 1, title: "Fire at Bible College in Christian", photo: nil, body: "A massive fire is now raging at the Bible College ...", created_at: "2014-08-28 08:06:19", updated_at: "2014-09-18 23:35:04", user_id: 1, ancestry: nil, file: nil, status: nil, slug: "fire-at-bible-college-in-christian", publication_status: 1, has_eyewitness: true>
Обратите внимание, что атрибут :photo
выше устанавливается в nil
... но когда я это делаю :
> a.photo
=> #<PhotoUploader:0x00000102e19878 @model=#<Post id: 1, title: "Fire at Bible College in Christian", photo: nil, body: "A massive fire is now raging at the Bible College ...", created_at: "2014-08-28 08:06:19", updated_at: "2014-09-18 23:35:04", user_id: 1, ancestry: nil, file: nil, status: nil, slug: "fire-at-bible-college-in-christian", publication_status: 1, has_eyewitness: true>, @mounted_as=:photo>
> a.photo.nil?
=> false
Не работает.
Есть ли метод Carrierwave, который я могу использовать для этого или каким-либо другим способом?
Как только проверьте это и посмотрите, что выводит: 'a.photo?' – anusha