Справочная информация
Я пробираюсь через Crafting Rails , и в главе 4 я сделал обработчик для шаблонов "merb" - уценка с добавлением erb.Это может быть скомпилировано в текст или HTML, так что это идеально подходит для почты.В моем письме с уведомлением "new_submission" есть один шаблон в app / views / notifications / new_submission.merb.Затем в app / mailers / notifications.rb все, что вам нужно сделать, это
mail(:to => Person.editor.email) do |format|
format.text
format.html
end
. И один шаблон .merb будет скомпилирован как в текстовую, так и в HTML-часть составной электронной почты.Woohoo!Вы можете прочитать больше об этом в выдержке из Crafting Rails , и вы можете просмотреть мою конкретную реализацию .
Где-то, как-то, что-то пошло не так
Я обновил свой Gemfile около недели назад и подумал, что все заработало, потому что мои страницы загружались, а Compass и Sass больше не ворчали на меня.По какой-то ужасной причине я не запускал ни одного из своих тестов.Но оказывается, что с тех пор я получаю эту ошибку всякий раз, когда я вызываю действие (например, «packlet.destroy»), которое пытается отправить это электронное сообщение new_submission:
ActionView::Template::Error (undefined method `children' for nil:NilClass):
app/mailers/notifications.rb:25:in `block in new_submission'
app/mailers/notifications.rb:23:in `new_submission'
app/models/submission.rb:62:in `has_been'
app/models/packlet.rb:20:in `destroy'
app/controllers/packlets_controller.rb:27:in `destroy'
Строка 26 приложения / почтовых программ/ notifications - это строка «format.html», показанная выше.
Я сузил это до проблемы с haml / sass 3.1, выполнив более детальное обновление этого пакета.Я обновил Rails, провел тесты, никаких проблем.Я обновил haml, провел свои тесты, и это всплыло в четырех местах.
Будем весьма благодарны за любые рекомендации.