Я пишу вспомогательный метод для преобразования изображений в base64 строки, когда это необходимо. Ниже приведен кодКак передать файл url методу helper в middleman
# config.rb
helpers do
def base64_url(img_link, file_type: "jpg")
require "base64"
if file_type =="jpg"
"data:image/jpg;base64,#{Base64.encode64(open(img_link).to_a.join)}"
elsif file_type =="png"
"data:image/jpg;base64,#{Base64.encode64(open(img_link).to_a.join)}"
else
link
end
end
end
В page.html.erb
<%= image_tag base64_url('/images/balcozy-logo.jpg') %>
Теперь проблема когда рубин читает '/images/balcozy-logo.jpg'
считывает файл из корневой системы не от корня проекта.
Сообщение об ошибке следующего
Errno::ENOENT at/
No such file or directory @ rb_sysopen - /images/balcozy-logo.jpg
Как обойти это и передать правильное изображение из URL project_root/source/images
Знаете ли вы, что у вас есть данные: image/jpg в обеих ветвях вашего 'if'? –