Search code examples
ruby-on-railsinternationalizationwebrickunicorn

Rails 3 Locale switches when using different server


I've got a Rails 3.2.3 app with the default_locale set to :nl. When I start the app using Thin or Unicorn, the app's locale is set to :en. When I use Webrick, the locale is correctly set to :nl.

This change is triggered by a commit that updates several third-party gems, although I have not been able to single out any one gem upgrade in particular -- I can reverse each of them individually and get the same result. However, when I checkout the offending commit's parent, all is well too.

When I run the app on a remote server in production mode, it all works fine, so it seems to be local to my machine.

I have removed every single installed gem and re-installed them all, which made no difference.

Does anyone have any idea what might trigger this behaviour? And especially why using webrick or unicorn would make a difference?

Edit: I have pinpointed the bug to be triggered by upgrading Draper from 0.11 to 0.12 (issue at Github). Not sure if it is also the cause.


Solution

  • I managed to track this problem down to a bad practice in my own Rails app that caused a bug by upgrading the Draper gem. There's a full explanation in the Draper documentation.