NoMethodError:在rails 3.1邮件程序上调用deliver时未定义的方法'index'

tks*_*tks 4 ruby-on-rails actionmailer heroku

我已经在Heroku上设置了一个rails 3.1应用程序的暂存实例,一切似乎工作正常,但我在尝试发送电子邮件时遇到了一个奇怪的错误.我正在使用sendgrid入门插件来发送电子邮件.完整错误如下:

NoMethodError: undefined method `index' for #<Mail::Message:0x000000048daf28>
    /app/.bundle/gems/ruby/1.9.1/gems/mail-2.3.0/lib/mail/message.rb:1289:in `method_missing'
    /app/.bundle/gems/ruby/1.9.1/gems/mail-2.3.0/lib/mail/encodings.rb:117:in `value_decode'
    /app/.bundle/gems/ruby/1.9.1/gems/mail-2.3.0/lib/mail/encodings.rb:101:in `decode_encode'
    /app/.bundle/gems/ruby/1.9.1/gems/mail-2.3.0/lib/mail/fields/unstructured_field.rb:74:in `do_decode'
Run Code Online (Sandbox Code Playgroud)

如果我只是生成消息对象而不调用它的传递并检查它一切似乎都很好.我的生产应用程序没有看到此错误.你能告诉我这个错误意味着什么以及如何解决它吗?谢谢.

Mar*_*her 11

使用Rails 3.0.11在我的本地计算机上得到相同的错误.它发生在我将一些对象而不是字符串传递给mail :to属性之后.所以请确保该:to属性是一个字符串!

mail(to: object.to_s)
Run Code Online (Sandbox Code Playgroud)