我想以开发模式测试我的电子邮件,但我无法显示图片。
在我的邮件浏览器中,我这样称呼它们:
<%= image_tag("how-icon-3.png", width: "101", border: "0", style: "display: block; width: 101px;", alt: "Decorissimo - Como 1") %>
我也试过
<%= image_tag("/assets/how-icon-1.png", border: "0", style: "display: block; width: 101px;", alt: "Decorissimo - Como 1") %></a>
和
<table border="0" width="100%" cellpadding="0" cellspacing="0" bgcolor="dce0ec" style="background: url(<%= image_path('/mailers/user_bg.jpg') %>); background-size: cover; background-position: top center; background-repeat: no-repeat;" class="main-bg">
它们都没有显示,它们会像HTML一样打印在HTML中:
<img alt="Decorissimo - Como 1" border="0" src="//localhost:3000/assets/how-icon-1.png" style="display: block; width: 101px;">
我已在development.rb中配置:
config.action_mailer.asset_host = 'localhost:3000'
我错过了什么?
由于
答案 0 :(得分:2)
您添加的标记image_tag('/assets...')
加上设置为localhost:3000
的{{1}}意味着您在电子邮件中的所有资产/图片都符合以下条件:
asset_host
这不会在电子邮件中呈现,因为您的电子邮件应用程序无法从localhost:3000(无法访问它)呈现内容。
在生产服务器上,我的感觉是您http://localhost:3000/assets/how-icon-3.png
是一个可在网络上解析的真实网址(即asset_host
)。
对于开发,您可以使用像MailCatcher这样的宝石在本地捕获您的电子邮件并查看图像等。
希望这有帮助!