Ruby on Rails 3.X を教えるのに困るところ

EY-OfficeではRuby on Railsの教育を行っています。Ruby on Rails はアグレッシブにバージョンアップしていきますが、教育を行う際には毎回、最新のバージョンで教育させて頂いています。


http://rubyonrails.org/images/rails.png
http://rubyonrails.org/images/pages/overview/download32.png


Rails3.0では大幅な内部構造の変更、3.1ではアセットパイプラインなどの追加、3.2では遅くなった開発コマンドの高速化・・・ と改良されて行くのはRailsを使うプログラマーとしては嬉しいのですが、教育で新たにRuby on Railsを学ぶ人に教えるには困った事があります。

それは、リファレンスマニュアル(API document) が使いにくくなったことです。

リファレンスマニュアルには、2つの使い方があると思います

  1. メソッド(API)の詳細な動作、オプション等を知る
  2. Railsの各クラス、モジュールにどのようなメソッド(API,機能)が在るのかを知る

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にはどんなメソッドがあるのかを探すのは難しくなってるなぁ〜 と思う今日この頃です。


何か良いドキュメントを作らなくては行けないのかなぁ〜 。 どこかにないのかなぁ〜 。