Ruby on Rails 3.X を教えるのに困るところ
EY-OfficeではRuby on Railsの教育を行っています。Ruby on Rails はアグレッシブにバージョンアップしていきますが、教育を行う際には毎回、最新のバージョンで教育させて頂いています。
Rails3.0では大幅な内部構造の変更、3.1ではアセットパイプラインなどの追加、3.2では遅くなった開発コマンドの高速化・・・ と改良されて行くのはRailsを使うプログラマーとしては嬉しいのですが、教育で新たにRuby on Railsを学ぶ人に教えるには困った事があります。
それは、リファレンスマニュアル(API document) が使いにくくなったことです。
リファレンスマニュアルには、2つの使い方があると思います
1. の方は、最近のドキュメントはJavascriptで検索が出来るので、便利に使えます。
しかし、2. は問題です。
皆さん、Rails2.3のドキュメント覚えてますか? 例えば ActiveRecord::Baseクラス。ここには ActiveRecord(データベース操作のAPI)のほぼ全てのメソッドが書かれています。したがってRailsを勉強する人はこのページを一読すればRailsのデータベース操作がほぼ分かります(もちろん、バリデーションや関連なのど他のページの情報も必要ですが)。
比べ Rails3.2のActiveRecord::Baseクラス、ここを見てもRailsのデータベース操作メソッドは全く分かりません。 検索関係は ActiveRecord::FinderMethods 、格納・変更は ActiveRecord::Persistence 、集計系は ActiveRecord::Calculations ・・・・ とわかれています。
これは、Rails3.0 で内部構造の大きなリファクタリングを行った結果であり、この変更自体はRailsの成長の為には良いものだったと思います。でも、教育では困ったものです・・・・
Rails3.0 以降の教育では困ったものだなぁ〜 と思いつつ進めています。Rails2.X(Rails1.X)から使っている人にはRailsのクラス構造や機能は判っているので3.Xでも問題なく使えると思いますが、3.0以降から始めた人には、Railsにはどんなメソッドがあるのかを探すのは難しくなってるなぁ〜 と思う今日この頃です。
何か良いドキュメントを作らなくては行けないのかなぁ〜 。 どこかにないのかなぁ〜 。