我有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
<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)