Ruby on Rails 刚刚发布了 2.3.6:
该版本包含六个月以来的 bug 修复,一小些新特性,以及一个到 Rails 3 的桥接。同时该版本废弃了一些无用的功能,而这些功能将于
Rails 3 中被删除。
详细介绍请查看 http://wiki.lupaworld.com/index.php/Ruby_on_rails
详细的改进内容:
Action Pack
- Upgrade Rack from 1.0.1 to 1.1.0.
- XSS prevention: update to match Rails 3
and move to the official plugin at http://github.com/rails/rails_xss.
- Cookies: convenient cookie jar add-ons to set permanent or signed
cookies, or both at once:
cookies.permanent.signed[:remember_me] =
current_user.id
. Read
more. - Flash: promote
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. - i18n: localize the
label
helper.
Active Record
- Namespacing: support optional table name prefixes on modules by
defining
self.table_name_prefix
. Read
more. - Destroy uses optimistic locking.
- Counter cache: use
Post.reset_counters(1234, :comments)
to count the number of comments for post 1234 and reset its
comments_count cache. - PostgreSQL: always use standard-conforming strings, if supported.
- MySQL: add index length support. Read
more.
- MySQL:
add_
and change_column
support
column positioning using :first => true
and :after
=> :other_column
.
Active Support
- Upgrade i18n from 1.3.3 to 1.3.7.
- Upgrade TZInfo from 0.3.12 to 0.3.16.
- Multibyte: speed up string verification and cleaning.
- JSON: use YAJL
for JSON decoding, if available.
gem
install yajl-ruby
- Testing: add
assert_blank
and assert_present
.
Read
more. - Core: backport
Object#singleton_class
from Ruby 1.8.8,
deprecating our Object#metaclass
. - Core: add
Object#presence
that returns the object if
it’s #present?
otherwise returns nil
. Example:
region = params[:state].presence || params[:country].presence ||
'US'
- Core: add
Enumerable#exclude?
to match include?
. - Core: rename
Array#rand
to Array#random_element
to avoid collision with Kernel#rand
. - Core: rename
Date#
and Time#last_(month|year)
to #prev_(month|year)
for Ruby 1.9 forward compatibility.
Active Resource
- JSON: set
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.
Action Mailer
- Upgrade TMail from 1.2.3 to 1.2.7.
Railties
- Silence RubyGems 1.3.6 deprecation warnings.
详细内容请看 commit log