実行環境:
ruby 1.9.3
Rails 3.1.3
コントローラの名前は controller.controller_name で取得できますが namespace までは取得できないので、UsersController の場合も Admin::UsersController の場合も同じ users が返ってくる。ruby 1.9.3
Rails 3.1.3
namespace まで一緒にとりたい場合は controller.controller_path を使います。 admin/users が返ってきます。
def namespace
controller.controller_path.split('/')[-2] # admin
end
もしくは controller.class.name でも Admin::UsersController のように namespace 付きで得られます。
def namespace
controller.class.name.split('::')[-2] # Admin
end
どちらも namespace がついてない場合は nil が返ります。
0 件のコメント:
コメントを投稿