无法在Rails Mailer中显示我的图片

时间:2015-02-02 14:48:00

标签: ruby-on-rails mailer

我想以开发模式测试我的电子邮件,但我无法显示图片。

在我的邮件浏览器中,我这样称呼它们:

<%= 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'

我错过了什么?

由于

1 个答案:

答案 0 :(得分:2)

您添加的标记image_tag('/assets...')加上设置为localhost:3000的{​​{1}}意味着您在电子邮件中的所有资产/图片都符合以下条件:

asset_host

这不会在电子邮件中呈现,因为您的电子邮件应用程序无法从localhost:3000(无法访问它)呈现内容。

在生产服务器上,我的感觉是您http://localhost:3000/assets/how-icon-3.png是一个可在网络上解析的真实网址(即asset_host)。

对于开发,您可以使用像MailCatcher这样的宝石在本地捕获您的电子邮件并查看图像等。

希望这有帮助!