Я использую следующий код, чтобы проверить наличие файла перед публикацией изображения в моем файле erb. Это приложение ruby / sinatra - не рельсы.Относительная проблема пути в представлении Sinatra
<% @imagename = @place.name + ".jpg" %>
<% if FileTest.exist?("/Users/Tim/projects/game/public/" + @imagename) %>
<p><img src= '<%= @imagename %>' width="400" height="300" /> </p>
<% end %>
И когда я опубликую это в Героку, это явно не сработает.
Я попытался с помощью относительного пути, но я не могу заставить его работать:
<% if FileTest.exist?("/" + @imagename) %>
Как это сделать в Синатре? –
Обновлено для Sinatra выше. Позвольте мне знать, если это помогает. – mikej
Этот подход сработал: «Затем попробуйте относительный путь из этой папки в образ. Например, если приложение запущено из/Users/Tim/projects/game, то относительный путь к публике является просто общедоступным, поэтому путь к изображению будет be File.join ('public', @imagename) " Подход APP_ROOT для меня представляет собой унифицированную постоянную ошибку. теперь работает. спасибо MikeJ! –