ああ、いろいろ出てんな、でも忙しいやってことで
release note見てなかったんですが、
rails3の正式リリースが今週末と聞いて慌てて読みました。
Riding Rails: Ruby on Rails 2.3.6 Released
Riding Rails: Ruby on Rails 2.3.7 Released
Riding Rails: Ruby on Rails 2.3.8 Released
rails2.3.6は、もろもろ修正。
rails2.3.7は、rails_xssのバグ対応。だけどうっかり出しちゃったらしい。
rails2.3.8で対応完了。
なので、以下rails2.3.6の変更内容について、かなり適当ですが記載してみました。
英語弱いので、間違いなどあればご指摘いただけるとありがたいです。
押さえておくべき変更点が記載されているので、release note読むのはいいですね。
(あんまり多いと挫折してしまいますが)
Action Pack
Upgrade Rack from 1.0.1 to 1.1.0.
rails_xss がofficialになった
RailsXSSを試してみる - うんたらかんたら日記
この辺の話ですね。
permanent(or signed cookies ってあるけどよくわかんね)なcookieが作れる
こんな感じ。
cookies.permanent.signed[:remember_me] = current_user.id
flashのalertとnoticeがredirect_toで使用可能。
こんな感じ。
redirect_to post_url(@post), :alert => "Watch it, mister!" redirect_to post_url(@post), :status=> :found, :notice => "Pay attention to the road"
i18nのlabelが使えるようになった!
i18n その後 - うんたらかんたら日記
これですね。バンザーイ。
Active Record
model名にprefixが設定可能っぽい
self.table_name_prefix
Destroy時に楽観的ロックを使用するようになったとか
カウンタキャッシュの使い方が変わった
こんな感じ
Post.reset_counters(1234, :comments)
この辺りのが変わったのかな。
counter_cache - うんたらかんたら日記
PostgreSQL standard-conforming strings を使うようになったらしい
standard_conforming_stringsは、SQL文の文字列リテラルにあるバックスラッシュ「\」「\」をエスケープ文字ではなくリテラルとして扱うか否かを設定します。
MySQL index作成時にlength指定が可能になった
Commit 3616141fa2d2f35675d5962a1b329c8c51a5e9a3 to rails's rails - GitHub
MySQL add_ / change_column 時に :first / :after オプションが指定可能
まぁ、あんまいらんよね。
Active Support
Upgrade i18n from 1.3.3 to 1.3.7.
Upgrade TZInfo from 0.3.12 to 0.3.16.
Multibyte頑張ってます。(検証とか早くなった?)
JSONはYAJLってやつを使うようになった(なにそれ)
gem install yajl-ruby で。
test assert_blank と assert_present 追加
Object#singleton_class 追加
Object#presence 追加
resent? trueならobject、falseならnil
Enumerable#exclude? 追加
Array#rand から Array#random_element に名前変えたよ
Kernel#randと被っちゃうからね
Date/Time#last_(month|year) から #prev_(month|year) に名前変えたよ
Active Resource
ActiveResource::Base.include_root_in_json = true
にしておくと モデル名->項目のhashとしてシリアライズしてくれる。
(あってるか不安。あんまよくわかってない)