2

我正在尝试为包含完整网址的图像的电子邮件呈现 HTML。我正在使用 Rails 3.2(资产管道)和 Heroku。我不知道我的问题在哪里。

我将此方法添加到我的应用程序助手中:

def image_url(source)
  "#{root_url[0..-2]}#{image_path(source)}"
end

在 email.html.erb 中:

<img src="<%= image_url("images/email/logo.gif") %>" width="102" height="40">

但是这些电子邮件会导致以下内容:

http://assets/email/logo-64cb67810752117f1de94cbb1c57a146.png

我认为这意味着我的 root_url 在 Heroku 上是空白的。我尝试在我的 production.rb 文件中设置它,如下所示:

config.action_controller.default_url_options = { host: "www.domainname.com" }

但这似乎不起作用。

我需要做什么才能在电子邮件中正确呈现带有完整 url 的图像?

4

3 回答 3

2

尝试使用

Rails.application.routes.default_url_options[:host]= 'www.domainname.com'
于 2012-11-01T23:47:44.410 回答
1

在rails4中

config/environments 文件夹,你可能有三个环境特定的文件,你可以把这个配置来设置你的域

config.action_mailer.asset_host = 'http://www.yourdomain.com'

于 2014-01-13T01:52:38.823 回答
0

你也可以这样做:image_url('file.png', host: 'http://example.com')

于 2016-07-25T16:38:49.677 回答