NoMethodError: неопределенный метод 'index' при вызове метода доставки по рельсам 3.1 - PullRequest
4 голосов
/ 17 января 2012

Я настроил промежуточный экземпляр приложения rails 3.1 на Heroku, и все, кажется, работает нормально, за исключением того, что я получаю странную ошибку при попытке отправить электронную почту. Я использую стартовый аддон 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'

если я просто сгенерирую объект сообщения без вызова доставки и проверим его, все будет в порядке. Я не вижу эту ошибку в моем производственном приложении. Можете ли вы сказать мне, что означает эта ошибка и как ее устранить? Спасибо.

Ответы [ 5 ]

11 голосов
/ 20 января 2012

Получена та же ошибка на моей локальной машине с использованием Rails 3.0.11.Это произошло после того, как я передал какой-то объект вместо строки атрибуту mail :to.Поэтому убедитесь, что атрибут :to является строкой!

mail(to: object.to_s)
1 голос
/ 24 января 2012

Эта ошибка была результатом использования Class вместо Module при определении почтового помощника, которого я создал.

1 голос
/ 17 января 2012

В эти выходные была выпущена новая версия Mail, Mail 2.4.0. Я бы порекомендовал обновить его до последней версии и посмотреть, исправит ли это вашу проблему.

0 голосов
/ 02 августа 2013

У меня была похожая проблема.Однако ошибка, которую я получил, была:

NoMethodError (undefined method `ascii_only?' for nil:NilClass)

Моя проблема заключалась в том, что у меня было:

mail(to: emails,....)

И моя переменная "emails" была фактически массивом, а не единственной строкойэлектронные письма.

0 голосов
/ 25 марта 2013

Эта ошибка произошла, потому что я настраивал пользовательские заголовки на целочисленное значение. Использование to_s для этих значений решило проблему для меня.

...