У меня немного странная проблема с отправкой почты в тестовом режиме с Rails 3
Кажется, мои почтовые программы ничего не возвращают. Например, у меня есть почтовик, который называется UserMailer. Пользователи могут вносить изменения, которые требуют одобрения в приложении, так что у него есть метод под названием changes_approved, который должен отправить пользователю электронное письмо с уведомлением о том, что его изменения были утверждены.class
UserMailer < ActionMailer::Base
default :from => "from@example.com"
def changes_approved(user, page)
@user = user
@page = page
mail(:to => user.email, :subject => "Your changes have been approved")
end
end
В моем контроллере у меня есть следующая строка
UserMailer.changes_approved(@page_revision.created_by, @page_revision.page).deliver
Однако в этот момент мои тесты не пройдены с ошибкой:
неопределенный метод `доставить 'для nil: NilClass
Когда я запускаю те же действия на сайте разработки, хотя (http://localhost:3000 через браузер), электронные письма отправляются правильно, и все работает довольно счастливо
И чтобы еще больше сбить с толку, я использую devise для аутентификации и электронные письма, которые, кажется, работают правильно как в тестовом, так и в режиме разработки. Конечно, я не получаю ту же ошибку, и согласно моим тестам электронной почты, все работает
Так что это наводит меня на мысль, что у меня проблема с почтовыми программами, а не с моей конфигурацией тестовой почты, но я понятия не имею, что. Любые предложения будут высоко оценены
Спасибо