Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

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:

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした