image_url 在动作邮件程序中不起作用(Ruby on rails)

Posted

技术标签:

【中文标题】image_url 在动作邮件程序中不起作用(Ruby on rails)【英文标题】:image_url not working within action mailer (Ruby on rails) 【发布时间】:2016-12-14 16:39:14 【问题描述】:

我在我的 production.rb 环境文件中添加了以下内容。

config.action_mailer.default_url_options = host: "domain.com"

在我看来:

<%= tag("img", src: image_url("logo.png"))  %>

但是,当我查看电子邮件中的路径时,我看到的是 image_path,而不是 URL。

http:///assets/logo.png

我做错了什么?

【问题讨论】:

【参考方案1】:

这就是它在我的应用程序中的工作方式。试试这个

<%= image_tag(attachments['logo.png'].url, style: 'margin: 5px') %>

【讨论】:

需要将其添加到邮件中: attachments.inline['logo.png'] = File.read(Rails.root.join('app/assets/images/logo.png')) ,那么你的代码就起作用了。感谢您的领导! attachments['logo.png'] = File.read(data.logo.current_path) 用于动态网址。我假设你正在这样做。如果我的回答有帮助,请采纳。【参考方案2】:

在生产电子邮件视图中尝试使用asset_path 而不是image_url

【讨论】:

【参考方案3】:

您需要在 production.rb 中指定 config.action_mailer.asset_host = "domain.com"。然后在您的邮件视图中使用image_tag

【讨论】:

以上是关于image_url 在动作邮件程序中不起作用(Ruby on rails)的主要内容,如果未能解决你的问题,请参考以下文章

邮件/会话资源工厂在 Struts 应用程序中不起作用

通过 Windows 任务计划程序调用 SSIS 包时,发送邮件任务在 SSIS 中不起作用

传出电子邮件在 SharePoint 2019 中不起作用

外发电子邮件在SharePoint 2019中不起作用

动作邮件程序中的默认网址不起作用

电子邮件验证在 MVC 中不起作用