2015-12-23 3 views
0

Я делаю приложение - он загружает (с carrierwave) pdf и ppt-файлы, затем Docsplit извлекает страницы/слайды для изображений и сохраняет их в папке public/uploads/document/unique_timestamp/.Рельсы не отображаются изображения из общей папки

В show просмотра изображения не отображаются, но ссылки правильно - например, «http://localhost:3000/Users/my_user_name/Documents/rp/1512/my_app/public/uploads/document/1450527696/qwerty_2.jpg», и я вижу enter image description here

Что я могу сделать?

в контроллерах/documents_controller.rb:

def show 
    @output_path = "#{Rails.root}/public/uploads/document/" + @document.image.to_s[-14,10] + "/" 
end 

в представлении/show.html.erb:

<ul> 
<% Dir.foreach(@output_path) do |f| %> 

    <% if f != "." && f != ".." %> 
    <li> 
     <%= image_tag @output_path + f %> 
     <br><%= f %> 
    </li> 

    <% end %> 

<% end %> 
</ul> 

ответ

0

Существует разница между путями URL и ваших путей файловой системы. Как правило, путь URL / сопоставляется с вашим каталогом public на вашем компьютере. Таким образом, при запросе http://localhost:3000/uploads/document/1450527696/qwerty_2.jpg ваш веб-сервер будет обслуживать файл, найденный в /Users/my_user_name/Documents/rp/1512/my_app/public/uploads/document/1450527696/qwerty_2.jpg.

В вашем коде вы должны использовать два разных пути в своих соответствующих местоположениях, то есть путь к файловой системе при получении доступных файлов и пути URL при создании image_tag.

+0

Спасибо за ваш ответ! Но я не понимаю, что в моем коде нужно изменить?)) –

Смежные вопросы