我在Rails邮件程序中指定图像的绝对路径时遇到了很多麻烦。我已经看了很多如何做到这一点的例子,没有任何对我有用。
这是我目前在development.rb文件中的内容:
config.action_mailer.default_url_options = { :host => ENV['DEV_HOST_URL'] }
/* Added the following 2 lines to attempt to get direct URL */
config.action_controller.asset_host = 'http://localhost:3000'
config.action_mailer.asset_host = config.action_controller.asset_host
config.assets.compress = false
config.serve_static_assets = false
config.assets.precompile << /(^[^_\/]|\/[^_])[^\/]*$/
# Expands the lines which load the assets
config.assets.debug = true
DEV_HOST_URL在我的环境变量中定义:
DEV_HOST_URL: "0.0.0.0:3000"
我尝试在邮件程序布局文件中引用图像,如下所示:
<%= image_tag("logo.png", :class=>"logo_icon" ) %>
当我检查生成的电子邮件中的元素时,我得到以下内容:
<img alt="logo" src="https://ci6.googleusercontent.com/proxy/LQ9_UbICRgtYrLdHWTYSCZzpvyyqEPa8zUTd1OjWkQZQCgnb5YdOQpbghkTKOqBF1miTwxYJYHNdriZh5de4XW161GU_8jvmNN2D3KU=s0-d-e1-ft#http://localhost:3000/assets/logo.png" style="width:50px;border:1px solid #ccc;min-height:20px;width:20px;border:none">
但是,如果我转到以下链接,我不会得到破碎的图像:
http://localhost:3000/assets/logo.png
我做错了什么?
答案 0 :(得分:0)
这可能应该是显而易见的,但一开始我不是 - Gmail不会加载本地图片。当我将代码推送到制作时,我能够看到正确的图像!