クラスの階層

練習も兼ねて簡単なフレームワークを作っていて以下のように書いたらエラーになった。

lib/myapp/controller/search/index.rb
class Search::Index < Controllerend
uninitialized constant Object::Search (NameError)

まだまだよく理解しきっていないのだけれど、クラスというのは定数なんだな。
だから文字列からconst_get(classname)でクラス名の定数を取得できたりする、と。
それを踏まえてエラーをよく見ると、トップレベルのObjectクラスのSearchクラスなんてなくて定数ないんですけどと言われているんだろう。
というわけで、Searchクラスをつくった上でその中にIndexクラスを作る。

class Search
  class Search::Indexend
end

とりあえずこれで動いた。
Ruby楽しい。