ViewやヘルパーやControllerにおいて、コントローラ名やアクション名で条件分岐する方法


Viewやヘルパーで、コントローラー名やアクション名で条件分岐する方法ないのかなー、と思って調べてみたらありました。
rails(ruby)の便利さには、びっくりですね。

(View・ヘルパー)コントローラー名で条件分岐する方法

railsにおいてコントローラー名はcontroller.controller_nameで取得することができます。なんと便利なんでしょう。

【使用例】
例えば、contactsコントローラーに使うとしたら、こんな感じ

if controller.controller_name == "contacts"
  puts "お問い合わせありがとうございます。"
else
  puts "ご利用ありがとうございました。"
end

(View・ヘルパー)コントローラーのアクション名で条件分岐する方法

同様にcontroller.action_nameで取得できます。

【使用例】
こちらもcontactsコントローラーで使用してみます。contactsコントローラーには、newアクションとcreateアクションがあります。

case controller.action_name
when "new"
  puts "まだお問い合わせは完了していません"
when "create"
  puts "お問い合わせありがとうございました。"
else
  puts "申し訳ございませんが、最初からやり直してください"
end

(Controller)コントローラー名で条件分岐する方法

コントローラーでは、controller_nameで取得できます。

(Controller)アクション名で条件分岐する方法

コントローラーでは、action_nameで取得できます。

何か修正点・改善点・疑問点などありましたら頂けると嬉しいです。