ruby-on-rails – Rails 4,Mailer预览,预览附加图像

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails 4,Mailer预览,预览附加图像前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有rails 4.1.6邮件程序预览的问题.

我希望在预览模式下看到附加的图像,但它不起作用.我认为这是不正确的

有我的代码

邮件文件

class AppMailer < ActionMailer::Base
  default from: "robot@mysite.com"

  # AppMailer.test_mail.deliver
  def test_mail
    attachments.inline['rails.png'] = File.read(Rails.root.join('app','assets','images','rails.png'))

    mail(
      to: 'my-email@gmail.com',subject: "test letter",template_path: "mailers",template_name: "test"
    )
  end
end

预览文件

class MailerPreview < ActionMailer::Preview
  def app_mailer
    AppMailer.test_mail
  end
end

模板文件

%p Hello,World!
%p= image_tag attachments['rails.png'].url

当我去

/rails/mailers/mailer/app_mailer

我看到预览页面,但图像不起作用.结果是HTML代码

<p>Hello,World!</p>
<p><img src="cid:544d1354a8aa0_fda8082dbf8258ca@admins-air.mail"></p>

所以.我想,我应该找到一种方法获取路径/到/文件而不是预览模式下的CID

(当我把信寄到我的邮箱时 – 信看起来不错)

我在预览模式下做错了什么?

解决方法

对于Rails> = 4.2来预览图像,您应该创建初始化程序:
# config/initializer/preview_interceptors.rb
ActionMailer::Base.register_preview_interceptor(ActionMailer::InlinePreviewInterceptor)

猜你在找的Ruby相关文章