MENU

【備忘録】【rails6】コントローラ名やアクション名で条件分岐

★環境
 Ruby:3.1.0
 Rails:6.1.4.4

目次

Railsにおける「コントロール名」と「アクション名」毎の条件分岐

「コントロール名」による条件分岐

case controller.controller_name

when 'コントローラー名1'
  <処理1>

when 'コントローラー名2'
  <処理2>

# 複数のコントローラー名がある時はカンマで区切る
when 'コントローラー名3', 'コントローラー名4'
  <処理3>

# 上記に当てはまらない条件の場合
else
  <処理4>

end

viewでの書き方

<% case controller.controller_name %>

<% when 'コントローラー名1' %>
  <処理1>

<% when 'コントローラー名2' %>
  <処理2>

<% # 複数のコントローラー名がある時はカンマで区切る %>
<% when 'コントローラー名3', 'コントローラー名4' %>
  <処理3>

<% # 上記に当てはまらない条件の場合 %>
<% else %>
  <処理4>

<% end %>

「アクション名」による条件分岐

case controller.action_name

when 'アクション名1'
  <処理1>

when 'アクション名2'
  <処理2>

# 複数のアクション名がある時はカンマで区切る
when 'アクション名3', 'アクション名4'
  <処理3>

# 上記に当てはまらない条件の場合
else
  <処理4>

end

viewでの書き方

<% case controller.action_name %>

<% when 'アクション名1' %>
  <処理1>

<% when 'アクション名2' %>
  <処理2>

<% # 複数のアクション名がある時はカンマで区切る %>
<% when 'アクション名3', 'アクション名4' %>
  <処理3>

<% # 上記に当てはまらない条件の場合 %>
<% else %>
  <処理4>

<% end %>

controller.controller_name」と「controller.action_name」にてコントローラー名とアクション名が取得可能です。

<参考>

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

コメント

コメントする

目次