Poked around more. Turns out the culprit was using "10.years" inside
environment (setting config.action_controller.session[:expire_after]).
I can reproduce the issue by generating a new app and adding 'puts
10.years' to environment.rb (e.g. after config.time_zone).
One fix is to not use it there. Another is to explicitly require
'active_support'. Tried with Rails 2.2.2 and saw similar issues; in
upgrading to 2.3, :session_expires (which takes a Time) changed
before.
Since I’m in the middle of upgrading a legacy ruby 2.2 rails app slowly to 2.3. Then I stumbled into the nearly same problem.
In Rails 2.2.x rails expect the ApplicationController file name to be app/controllers/application.rb
But in Rails 2.3.x rails expect the ApplicationController filer to names app/controllers/application_controller.rb