 <p>If you are putting multiple things inside a tag, as you are for your <code>h2</code>, you need to indent them all rather than inlining one and adding a second. Haml thinks you are trying to nest your <code>ul</code> inside the text above it.</p> <pre><code>= form_for @talent do |f| - if @talent.errors.any? #error_explanation %h2 = pluralize(@talent.errors.count, "error") "prohibited this user from being saved:" %ul - @talent.errors.full_messages.each do |msg| %li= msg </code></pre> <p>Or if you didn't want the text inside the <code>h2</code> you've just got the indentation for your <code>ul</code> wrong. Bring it back two spaces.</p> <pre><code>#error_explanation %h2= pluralize(@talent.errors.count, "error") "prohibited this user from being saved:" %ul - @talent.errors.full_messages.each do |msg| %li= msg </code></pre>