Interesting breakage in Rails 3 RC

My latest project, UploadJuicer is running on Rails 3, and I'm loving it. Back in the Rails 3 beta 1 days, there were still a lot of rough edges, but beta 4 has been great so far. Until I wanted to upgrade UploadJuicer to Rails 3 RC (1). After the upgrade, I got this:

ActionController::RoutingError (uninitialized constant ApplicationController::AuthenticationHelpers)

AuthenticationHelpers happens to be the first module I include from ApplicationController, and it lives in lib/authentication_helpers.rb. After a bid of head-scratching as to why something that has worked for ages and ages in Rails suddenly stopped working (and in between a beta and an RC release, to boot!), I remembered this change in config/application.rb from running rake rails:update:

# Custom directories with classes and modules you want to be autoloadable. # config.autoload_paths += %W(#{config.root}/extras)

That looked promising, so I uncommented it, changed extras to lib, and bam, problem solved. Life on the edge is an adventure. :)

Comments