无法在rails 3

时间:2016-04-19 06:05:58

标签: mime-types actionmailer inline-attachments

安装捆绑后,我无法再将内嵌图像添加到附件中。这是我得到的错误:

NoMethodError (undefined method `type_for' for MIME::Types:Class):
  app/mailers/welcome_mailer.rb:14:in `add_inline_attachment!'

很明显,type_for方法是在类而不是对象上调用的。

以下是我添加内联附件的方式,它遵循guidelines from ActionMailer

attachments.inline['photo.png'] = File.read('path/to/photo.png')

我已经测试过该文件确实存在并且它已被读取。这个问题似乎与宝石有关。

2 个答案:

答案 0 :(得分:1)

升级到mime-types 3.1,于2016年5月22日发布.mime-types 2.x仅有六个计划更新,并在2017年11月达到使用寿命,此后将不再提供任何支持。< / p>

答案 1 :(得分:0)

事实证明,更新mime-types gem(来自ActionMailer的依赖关系已从版本2.99.1更新为版本3.0,因为此gem未被锁定。它仅作为依赖项被拉入。

来自Gemfile.lock

mime-types (3.0)
  mime-types-data (~> 3.2015)
mime-types-data (3.2016.0221)

明确向gem mime-types, (< 3)添加Gemfile为我解决了问题。