Dieser Artikel erschien ursprünglich in einem kurzlebigen Rails-Weblog mit dem schönen Namen railssprech, das in den Jahren 2009 und 2010 aktiv war. Der Text ist mittlerweile wahrscheinlich hoffnungslos veraltet und wurde hier archiviert.

Problem mit Mongrel und Rails 2.3.9

Wenn man in zweierlei Hinsicht ein wenig altmodisch ist, indem man zum einen noch die letzte Version von Rails 2, nämlich 2.3.9 verwendet, und zum anderen noch das Deployment der App mit dem guten alten mongrel_cluster implementiert hat, kommt es zu einem eigenartigen Phänomen:

Die Rails-Anwendung funktioniert einwandfrei, im Browser ist aber der von der Anwendung herausgerenderte HTML-Quelltext der Seite (oder gar nix) zu sehen. Schaut man dann in log/mongrel.PORT.log, so findet man die Ursache des Übels:

Error calling Dispatcher.dispatch 
#<NoMethodError: private method `split' called for nil:NilClass>

Oder ähnliches. Das Problem liegt irgendwo im Zusammenspiel von ActionPack und Mongrel (in der Cluster-Variante), das seit Rails 2.3.8 nicht mehr korrekt funktioniert.

Die Lösung für dieses Problem findet sich beim »P Coder«. Man benötigt einen Patch in einer Datei config/initializers/mongrel.rb. Damit funktioniert es dann wieder einwandfrei.