我有一个 Rails 4 应用程序,可以发送一些 HTML 电子邮件。这些电子邮件的页脚中包含图像,但我很难在生产中正确呈现它。 我在 stackoverflow 上查看了有关此主题的几个答案,每个人都说
1 - 添加
config.action_mailer.asset_host = "http://example.com"
2 - 使用辅助方法
image_tag
渲染图像
所以我已经这么做了
#config/environments/production.rb
...
config.action_mailer.asset_host = "http://example.com"
#app/views/app_mailer/layout/dark.html.erb
...
<%= image_tag "dark/footer.png", style: "border: 0;", alt: "footer" %>
但是,一旦我预编译了资产,生成的 src 标签就不会考虑图像名称后缀的摘要。
在我的电子邮件中,我收到
src="http://example.com/assets/dark/footer.png"
在我的应用程序中我有
public/assets/dark/footer-e2f622dcfd3016d12ec655bcfe81ec3d.png
因此图像未正确渲染。
我在这里遗漏了什么吗?
谢谢。
我在一个项目中遇到了同样的问题。我们终于实现了在电子邮件上显示图片,改变了这一点:
<%= image_tag "path_to_image.png" %>
对此:
%img{src=image_url("path_to_image.png")}
Rails 7.1.
这对我有用:
<%= image_tag(image_url("logo.png", host: "https://example.com")) %>