添加图像以设计Mailer模板

时间:2012-05-07 21:42:00

标签: ruby-on-rails ruby ruby-on-rails-3 devise

我试图从设计Mailer模板中调用image_tag "image.jpg",但由于发送了一封电子邮件,图片的路径在电子邮件中显示为已损坏。 (不包括绝对网址)。

解决这个问题的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

在Rails 4中,最简单的方法是将以下内容添加到:

  1. 配置/环境/ development.rb

    config.action_mailer.asset_host =" http://localhost:3000"

  2. 配置/环境/ production.rb

    config.action_mailer.asset_host =" http://yourdomain.com"

  3. 由于电子邮件不是托管在您的Web服务器上的页面,并且仅由您的应用程序中继到smtp或其他邮件服务器,因此这基本上告诉rails服务器您在哪里托管邮件资产。在大多数情况下,您希望从rails提供邮件资产,特别是来自rails使用的相同资产。

    这样做,您只需使用image_tag即可访问您的图片。

答案 1 :(得分:1)

您可以设置邮件程序的:host属性,与构建链接的方式相同

要在全局范围内执行此操作,您可以在环境配置中执行此操作

config.action_mailer.default_url_options = { :host => "example.com" }

看看http://api.rubyonrails.org/classes/ActionMailer/Base.html

了解更多信息