Rails 3.1带有image_tag的ActionMailer中的资产

Pog*_*hel 7 ruby-on-rails actionmailer asset-pipeline

资产对我的Web视图工作正常,但由于某种原因,我的Mailer不使用资产管道.我想在我的邮件程序视图中使用image_tag:

=link_to image_tag("logo.png")
Run Code Online (Sandbox Code Playgroud)

然而,这呈现为

<img alt="logo" src="http://mydomain.com/assets/logo.png">
Run Code Online (Sandbox Code Playgroud)

代替

<img alt="logo" src="http://mydomain.com/assets/logo-xxxxxxxxx...png">
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?

我的设置是:

config.action_mailer.default_url_options = { :host => config.domain }
config.action_mailer.asset_host = "http://" + config.domain
Run Code Online (Sandbox Code Playgroud)

谢谢!

Ste*_*erD 0

尝试在您的邮件模板中放入以下内容而不是 link_to ( link_to 没有任何意义,因为您在此处将图像链接到任何内容,并且我在 html 中没有看到 a href 作为输出):

= asset_path("logo.png")
Run Code Online (Sandbox Code Playgroud)

还放入您的特定环境文件:

config.action_mailer.default :content_type => "text/html"
Run Code Online (Sandbox Code Playgroud)

这样您就可以确定始终使用 HTML 作为默认内容类型。如果您在邮件中使用图像,最好将其设置为 html。