I've recently updated several projects to Rails 2.2. The upgrade process was very smooth and fast, and everything seemed to be just fine until today: when I visited some pages of one project, I noticed some parts on serval pages were missing.
What happened? I didn't change any MVC code.
A quick check led to this result: some content_tag and div_for calls don't work anymore. Take this snippet for example:
- div_for @post do
%h2
= h @post.title
.body
= simple_format(h @post.body)
Haml 2.0.4 was used in this rail project. I doubted Haml might be not compatible with Rails 2.2. To confirm this, I created a rails app, and the following just works with ERB (the first one is an example from the Rails rdoc):
<% content_tag :div, :class => "strong" do -%>
Hello world!
<% end -%>
<% div_for @post do -%>
<h2><%= h @post.title %></h2>
<div><%= simple_format(h @post.body)</div>
<% end -%>
This needs further investigation. If it's indeed Haml's problem, hope there'll be a fix in Edge Haml ASAP.
Update (Nov 29, 2008): Haml 2.0.5 released and this issue has been fixed.