コントローラ名の名前空間

コントローラをscript/generateで生成するときに指定するコントローラ名は、コントローラ名にスラッシュを入れたらスラッシュの間でフォルダ作って名前空間ちゃんと設定されたものができる。
ちなみにスラッシュじゃなくてコロン2個(::)でもOK。

ruby script/generate controller sample/ctl
(ruby script/generate controller sample::ctl)

として生成すると、app/controllersの下にsample/ctl_controller.rbが作成される。helperにもviewにもsampleディレクトリが作成されている。
ctl_controller.rbのCtlControllerクラスは下記のようにSampleにネストされる。

class Sample::CtlController < ApplicationController
end

ちなみにURIとの関連は、「 http://localhost:3000/sample/ctrl/[アクション名] 」というようにコントローラの部分が1階層増える。

やっぱりコントローラが全部最上位階層にあるのは微妙なんですよねー。