Ruby on rails 未定义的方法“children';对于nil:自Haml 3.1更新以来的NilClass 背景信息

Ruby on rails 未定义的方法“children';对于nil:自Haml 3.1更新以来的NilClass 背景信息,ruby-on-rails,haml,actionmailer,sass,handlers,Ruby On Rails,Haml,Actionmailer,Sass,Handlers,在第4章中,我制作了一个处理“merb”模板标记的处理程序,并穿插了erb。这可以编译成文本或html,所以它非常适合邮件。我的“新提交”通知电子邮件在app/views/notifications/new_submission.merb中有一个模板。然后在app/mailers/notifications.rb中,您需要做的就是 mail(:to => Person.editor.email) do |format| format.text format.html end 单个

在第4章中,我制作了一个处理“merb”模板标记的处理程序,并穿插了erb。这可以编译成文本或html,所以它非常适合邮件。我的“新提交”通知电子邮件在app/views/notifications/new_submission.merb中有一个模板。然后在app/mailers/notifications.rb中,您需要做的就是

mail(:to => Person.editor.email) do |format|
  format.text
  format.html
end
单个.merb模板被编译成多部分电子邮件的文本和html部分。呜呼!您可以在中阅读更多关于此的信息,并可以四处浏览

不知何故,某处出了问题 大约一周前,我更新了我的Gemfile,并认为我的页面正在加载,Compass和Sass不再对我发牢骚,所以一切都正常了。出于某种可怕的原因,我没有进行任何测试。但事实证明,从那时起,每当我调用尝试发送此新提交电子邮件的操作(如“packlet.destroy”)时,我都会遇到此错误:

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'
app/mailers/notifications的第26行是“format.html”行,如上所示

通过更精确地进行捆绑包更新,我将此问题缩小到了haml/sass 3.1的问题。我更新了Rails,运行了测试,没有问题。我更新了haml,进行了测试,结果在四个地方出现了


任何指导都将不胜感激。

这是Haml 3.1中的一个已知问题,由注释中的嵌套内容引起。(我了解到了这一点。)

这是Haml 3.1中的一个已知问题,由注释中的嵌套内容引起。(这是我学到的。)