"dynamic constant assignment", what?

Posted by andy

So I upgraded my development environment to edge Rails. Testing on of the production apps turned up an interesting error:
compile error
.../app/views/domains/_MX_form.rhtml:-1: dynamic constant assignment
MX_form = local_assigns[:MX_form] if local_assigns.has_key?(:MX_form)
The Rails code:

<%= render :partial => "#{@record_type.name}_form" %>
This code worked fine under Rails 0.13.1, huh? Turns out if the name attribute is uppercase Ruby will complain about a “dynamic constant assignment”. Okay, so lowercasing all my partials and doing a downcase on name fixed it for me. But can anoyone explain why this happens all of a sudden? I’m still using the same Ruby interpreter version (1.8.2)???