我正在尝试为包含带有完整网址的图片的电子邮件呈现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" }
但这似乎不起作用。
在电子邮件中使用完整网址正确呈现图片需要做些什么?
答案 0 :(得分:2)
尝试使用
Rails.application.routes.default_url_options[:host]= 'www.domainname.com'
答案 1 :(得分:1)
在rails4中
config / environments文件夹,您可能有三个特定于环境的文件,您可以将此配置设置为您的域
config.action_mailer.asset_host = 'http://www.yourdomain.com'
答案 2 :(得分:0)
您也可以这样做:image_url('file.png', host: 'http://example.com')