Rails 2.3.0 RC1
The rapid rate of change in Rails presents a considerable challenge to book authors that wish to include instructions on how to build a running application. Rails 2.3RC1 is no different. Released just two months and ten days after Rails 2.2, it includes quite a number of changes, for example:
Instead of uncommenting the following line in config/environment.rb
:
config.action_controller.session_store = :active_record_store
One uncomments the following line in config/initializers/session_store.rb
:
ActionController::Base.session_store = :active_record_store
The file app/controllers/application.rb
has been renamed to app/controllers/application_controller.rb
. Additionally, within that file, there no longer is a :secret
hash to uncomment in the call to protect_from_forgery
as it is no longer needed.
The following files are no longer present:
script/performance/request script/process/spawner script/process/inspector script/process/reaper public/dispatch.cgi public/dispatch.rb public/dispatch.fcgi
The following new files are included in new Rails applications:
test/unit/helpers config/initializers/session_store.rb config/initializers/backtrace_silencers.rb
Additionally, as a release candidate, it is not surprising that there are bugs in the release. Apparently, storing non-ActiveRecord objects in a session is one such area: ticket, test-case. Hiding behind that bug appears to be another that I have not yet isolated into a minimal test case. The symptoms are the following error:
/!\ FAILSAFE /!\ Tue Feb 03 21:02:03 -0500 2009 Status: 500 Internal Server Error You have a nil object when you didn't expect it! You might have expected an instance of Array. The error occurred while evaluating nil.include? /home/rubys/.gem/ruby/1.8/gems/activerecord-2.3.0/lib/active_record/attribute_methods.rb:142:in `create_time_zone_conversion_attribute?'
Oh, and the release also contains a few new features.