2013-10-15

アクセスしているページのコントローラに関する名称を取得

controllers/application_controller.rbviews/layouts/application.html.erbなんかで、画面毎に処理を分けたい場合に有効。
controller.controller_nameは純粋にコントローラ名しか取れないので、
名前空間(モジュール?)を使っている場合には同名のコントローラ名が存在する可能性がある。
なので、判定にはモジュール名も併せてみるか、コントローラクラス名を使うと確実かも。
コントローラが入っているモジュール名
controller.class.parent.name
コントローラクラス名
controller.class.to_s
コントローラ名
controller.controller_name
アクセスしているアクション名
controller.action_name

0 件のコメント:

コメントを投稿