ruby-on-rails - 添加图像以设计 Mailer 模板

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

我试图从设计邮件程序模板中调用 image_tag "image.jpg" 但由于它是一封电子邮件,因此图像的路径在电子邮件中显示为已损坏。 (因为不包括绝对 url)。

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

最佳答案

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

  1. config/environments/development.rb

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

  2. config/environments/production.rb

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

由于电子邮件不是托管在您的 Web 服务器上的页面,并且仅由您的应用程序转发到 smtp 或其他邮件服务器,这基本上告诉 Rails 服务器您在何处托管邮件 Assets 。在大多数情况下,您希望从 rails 提供您的邮件 Assets ,特别是从 rails 使用的相同 Assets 路径。

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

关于ruby-on-rails - 添加图像以设计 Mailer 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10489560/

相关文章:

ruby-on-rails - Rspec:如何测试私有(private)方法中引发的异常?

ruby-on-rails - 用户首次登录时显示对话框

ruby-on-rails - Rails Engines : When to put code in app, 何时在 lib 中,何时在 vendor 文件夹中?

ruby-on-rails - 使用 ruby​​ 从逗号分隔的文件中提取电子邮件

ruby-on-rails - 将 gem 类放入命名空间

ruby-on-rails-3 - 创建新记录获取 NameError : undefined local variable or method 'through'

ruby-on-rails - 过滤掉 poltergeist 中的警告

ruby-on-rails - RAILS 插件 delegate_belongs_to

ruby-on-rails - 为什么我不能发布名称为 'status' 的表单域?

ruby-on-rails - 由于参数无效 (errorno::EINVAL),Rails 服务器未启动