I've just deployed my RoR app to a host that uses dispatch.cgi instead of Mongrel and came across this issue when using AJAX. The same issue has been highlighted a year ago, (on this list) <http:// groups.google.com/group/rubyonrails-talk/browse_thread/thread/ 872fed1ff554c9a4> and (on Rails Trac) <http://dev.rubyonrails.org/ ticket/10365>. In short, when some browsers enact the default remote_form_for, remote_function or observe_field procedures (which produce Ajax.Updater calls), the call fails and in the log appears: Status: 500 Internal Server Error can't modify frozen string /usr/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/ request.rb:598:in `gsub!' The issue appears to be worked around by adding ":method => :get" to each remote_function/observe_field call, but this is far from ideal, and is definitely still going to cause headaches. The calls use the POST method by default, it seems. Are there any developments on this bug?
on 2009-04-02 12:58
on 2009-04-02 16:07
I had the same problem deploying an application to hostgator, and I remember the bug would only show up using safari.. I did not find any solution other than moving the app to DreamHost.. iPhonized!