LoginSignup
72

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-01-25

Viewやヘルパーで、コントローラー名やアクション名で条件分岐する方法ないのかなー、と思って調べてみたらありました。 :laughing:
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で取得できます。

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
72