我正在寫一個輔助方法需要時,將圖像轉換爲Base64字符串。下面是代碼如何文件的URL傳遞給輔助方法,在中間人
# 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
如何解決這個問題,並從project_root/source/images
你知不知道你有'數據:在你的'if'的兩個分支圖像/ jpg'? –