Я нашел несколько сообщений здесь о File.exists? в приложении Rails, но попытки решения не помогли, я довольно новый, поэтому я должен делать что-то немое.
Я использую:
- Rails 3.2.11
- Ruby 1.9.3
- Скрепка для файла, указанного ниже
- ActiveAdmin для загрузки файла, указанного ниже.
- Работа в среде разработки
- Активы не предварительно скомпилированы
У меня есть модель "стиль", и у нее есть вложение изображения, я могу сделать изображение с помощью
<%= image_tag(@style.style_image) %>
и он отлично работает.
Короче говоря, я хочу проверить, действительно ли образ файла находится в папке, в которой он должен находиться: я не хочу использовать @style.style_image.present? для проверки изображений, потому что что просто проверяет запись db. Я хочу использовать File.exist?, чтобы увидеть, действительно ли файл для @style.style_image.
Итак, в моем файле просмотра у меня есть код
<% if File.exist?(@style.style_image.url) %>
The image exists.
<% else %>
The image is not here.
<% end %>
И всегда печатает "изображение не здесь" при загрузке страницы. Непосредственно ниже я показываю свое изображение с помощью image_tag, поэтому я знаю, что изображение есть.
Я также пробовал
<% if File.exist?(Rails.root + @style.style_image.url) %>
не повезло. Я также пытался использовать FileTest.exist?, FileTest.exists?, и File.exists? но никто не скажет мне правду, когда изображение определенно существует.
Есть ли что-то, что мне не хватает? Любое руководство будет оценено очень сильно. Я всего лишь несколько месяцев в Ruby и Rails, поэтому я, вероятно, пропустил что-то немое.