Неопределенный метод `children 'для nil: NilClass с момента обновления до Haml 3.1 - PullRequest
0 голосов
/ 10 мая 2011

Справочная информация

Я пробираюсь через 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, провел свои тесты, и это всплыло в четырех местах.

Будем весьма благодарны за любые рекомендации.

1 Ответ

3 голосов
/ 11 мая 2011

Это известная проблема в Haml 3.1, вызванная вложением контента в комментарии.(Я узнал это от самого создателя хамла .)

...