We’ve released Ruby on Rails 2.3.6: six months of bug fixes, a handful of new features, and a strong bridge to Rails 3.
We deprecated some obscure and ancient features in Rails 2.3.6 so we could cut them entirely from Rails 3. If your app runs on Rails 2.3.6 without deprecation warnings, you’re in good shape for a smooth sail onward.
This slow-cooked dish is brought to you some 87 committers from our all-volunteer kitchen.
Now, let’s open the goodie bag!
cookies.permanent.signed[:remember_me] = current_user.id
. Read more.alert
and notice
, the most common flash keys in many apps, to self.alert = '...'
and self.notice = '...'
. Add redirect_to url, :alert => '...'
and :notice => '...'
. Read more.label
helper.self.table_name_prefix
. Read more.Post.reset_counters(1234, :comments)
to count the number of comments for post 1234 and reset its comments_count cache.add_
and change_column
support column positioning using :first => true
and :after => :other_column
.gem install yajl-ruby
assert_blank
and assert_present
. Read more.Object#singleton_class
from Ruby 1.8.8, deprecating our Object#metaclass
.Object#presence
that returns the object if it’s #present?
otherwise returns nil
. Example: region = params[:state].presence || params[:country].presence || 'US'
Enumerable#exclude?
to match include?
.Array#rand
to Array#random_element
to avoid collision with Kernel#rand
.Date#
and Time#last_(month|year)
to #prev_(month|year)
for Ruby 1.9 forward compatibility.ActiveResource::Base.include_root_in_json = true
to serialize as a hash of model name → attributes instead of a bare attributes hash. Defaults to false.Peruse the commit log for the full story.